java生成pdf表格_java在pdf中生成表格的方法

1、目标

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

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

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

通过读取properties文件动态获取文件存储的跟目录。

2、所需的jar

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

e04faa4dbf6a8b9efce2d4972b76dc38.png

3、编码实现

1)、实体类

package com.zcr.until;

public class User

{

private String name;

private int age ;

private float height;

private String adress;

private String sex;

private String jj;

public String getJj()

{

return jj;

}

public void setJj(String jj)

{

this.jj = jj;

}

public User()

{

}

public User(String name,int age,float height,String adress,String sex,String jj)

{

this.name = name;

this.age = age;

this.height = height;

this.adress = adress;

this.sex = sex;

this.jj = jj;

}

public String getAdress()

{

return adress;

}

public void setAdress(String adress)

{

this.adress = adress;

}

public String getSex()

{

return sex;

}

public void setSex(String sex)

{

this.sex = sex;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public float getHeight() {

return height;

}

public void setHeight(float height) {

this.height = height;

}

}

2)、properties文件

pdfPath=E\:/appDataPdf3)、读取properties文件,获取pdf存储的路径

package com.zcr.until;

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

public class GetFilePlace

{

/**

* 读取文件,获取excel保存的根目录

* @return excel保存的根目录

*/

public String getFilePath()

{

String dir = System.getProperty("user.dir"); //获得tomcat所在的工作路径

//获取到存储了文件存储位置的filedir.properties 文件路径 --->java Project的文件路径

String realDir = dir + File.separator + "src" + File.separator +"META-INF" + File.separator + "filedir.properties";

//Web project存储路径

/*String realDir = dir.substring(0, dir.length()-4) + File.separator +"webapps" + File.separator + "generateExcels"

+ File.separator + "classes" + File.separator + "META-INF" + File.separator + "config" + File.separator + "filedir.properties";

你可能感兴趣的:(java生成pdf表格)