170120、java 如何在pdf中生成表格

1、目标

在pdf中生成一个可变表头的表格,并向其中填充数据。通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格。

每天生成一个文件夹存储生成的pdf文件(文件夹的命名是年月日时间戳),如:20151110

生成的文件可能在毫秒级别,故文件的命名规则是”到毫秒的时间戳-uuid”,如:20151110100245690-ece540e5-7737-4ab7-b2d6-87bc23917c8c.pdf

通过读取properties文件动态获取文件存储的跟目录。获取方式可查看:http://www.cnblogs.com/0201zcr/p/4700418.html

2、所需的jar

这里通过itex插件进行pdf的生成,需要的jar包括以下几个

3、编码实现

1)、实体类



2)、properties文件
3)、读取properties文件,获取pdf存储的路径

4)、获取当天存在的文件路径,不存在则生成一个新的文件夹
5)、生成文件的名字
6)、生成pdf






7)、测评函数
8)、测试结果

9)、文件内容如下

4、其他相关链接

生成可变表头excel:http://www.cnblogs.com/0201zcr/p/4950619.html

读取excel:http://www.cnblogs.com/0201zcr/p/4656779.html

时间: 2024-11-11 02:29:57

170120、java 如何在pdf中生成表格的相关文章

JAVA如何在eclipose中生成帮助文档

JAVA中注释有三种   1 单行注释 //+内容      2 多行注释  /* 内容 */  3 文档注释  /**内容*/       其中单行注释和多行注释是用于方法里面的注释 ,文档注释是用来注释类的成员和方法.   帮助文件是用多行注释实现的,用的程序是JAVA中jdk目录下bin目录JAVAdoc.exe. 首先 打开eclipose,找到一个需要生成帮助文档的工程.工程里面的类都是用多行注释标记了方法和属性的.比如 package java4_10; /** * * @autho

如何在C#中生成与PHP一样的MD5 Hash Code

原文:如何在C#中生成与PHP一样的MD5 Hash Code 最近在对一个现有的系统进行C#改造,该系统以前是用PHP做的,后台的管理员登陆用的是MD5加密算法.在PHP中,要对一个字符串进行MD5加密非常简单,一行代码即可: md5("Something you want to encrypt.") 直接调用md5()方法,然后将要进行MD5加密的字符串传进去,就可以得到返回的hash code.在C#中应该也会有对应的算法吧!对吗?我首先尝试了下面的代码,结果得到的hash co

Java iText使用PDF模板生成PDF文档

我们系统需要生成一个可以打印的PDF文档,老板给了我一个Word文档,按照这个Word文档的格式生成PDF文档. 第一步:下载AdobeAcrobat DC,必须使用这个来制作from域. 第二步:使用AdobeAcrobat DC将Word导成PDF文档. 第三步:由于还要加水印的效果,所以还是使用AdobeAcrobat DC来添加水印,非常方便: 添加水印的方法:使用AdobeAcrobat DC打开PDF文档,"工具"->"编辑PDF"->&qu

如何在PDF中插入另一个PDF文件的页面

编辑PDF文件的时候,如果要在当前文档中插入另一个PDF文件可分为俩种情况,一是插入另一个PDF中的较少部分页面.另外就是插入较多或者是整个文件了.对于这两种情况可以采用不同的方法来操作. 插入另一个PDF文件中较少页面: 首先用迅捷PDF编辑器同时打开两个PDF文件(文件1和文件2),并在"视图"菜单中打开页面缩略图,在缩略图窗格中可以很好的观察文档的总体结构,也方便对文件页面的操作. 在文件2中的缩略图窗格中找到要需要的页面,右击选择复制.接着切换到文件1,在要插入的页面右击选择粘

java实现查询数据库中所有表格数据

package ASS; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Aa { public static void main(String[] args) throws Exception { String a = "l

如何在excel中生成时间进度表——甘特图

最近学习软件工程需要做一个工程进度图.小小问题尽挡我数时,不服,终克之,辟一生路.在这与众友分享之. 具体步骤如下: 1.首先我们在excel中建一含有时间段的数据表. 2.选中包含时间段的属性列以及纵坐标属性列,如: 3.从菜单栏中选中插入-->条形图-->二维条形图-->堆积条形图,如 4.将生产的图表转换成图二形式.通过在图表区单击右键选择选择数据进入图二中选择数据源窗口,然后单击切换行/列得到图二所示.同时,将选择数据源中相应的行列属性名改为excel表中所示以确保同属性名(有利

在Asp.Net中操作PDF – iTextSharp - 使用表格

使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并不会深入探讨表格,仅仅是提供一个使用iTextSharp生成表格的方法介绍 使用iTextSharp来操作表格是一件简单的事,尤其是iTextSharp中表格元素的命名方式和HTML与CSS中非常类似.iTextSharp提供了多个类用于创建表格,为了不让读者产生混淆,这里我使用PdfPTable这个专门为在PDF中创建表格的类,下面代码展示了如何创建一个表格并将其加入PDF中:

Android NDK 在eclipse中生成C/C++头文件

我们知道在Android NDK开发中,让原生函数名及参数列表与java类文件的原始定义一致是繁杂而多余的,因为JDK自带一个名为javah的命令行工具来执行任务,javah工具可以为原生方法解析Java类文件并生成由原生方法声明组成的头文件.但是在开发中如果来回切换命令终端的话,可以说是很繁琐的,今天的这篇博文就来阐述一下如何在eclipse中生成头文件. (1)打开Eclipse IDE,在顶部菜单栏选择Run|External Tools|External Tools Configurat

【转】Java创建填充pdf表单域

表单域,可以按用途分为多种不同的类型,常见的有文本框.多行文本框.密码框.隐藏域.复选框.单选框和下拉选择框等,目的是用于采集用户的输入或选择的数据.下面的示例中,将分享通过Java编程在PDF中添加以及填充表单域的方法.这里填充表单域可分为2种情况,一种是在创建表单域时填充,一种是加载已经创建好表单域的文档进行填充.此外,对于已经创建表单域并填写好的文档,也可以设置只读,防止修改.编辑. 要点概括: 1.创建表单域 2.填充表单域 3.设置表单域只读 工具: Free Spire.PDF fo