java生成pdf

java生成pdf可以用itext-PdfStamper pdfStamper(俗称抠模板)。需要用PDF编辑器编辑好模板,留出空白等待程序填充。程序生成与下载即可。

java生成pdf

代码:

/**

* 抠模板

* @throws Exception

 */

public void createAllPdf() throws Exception {

//填充创建pdf

PdfReader reader = null;

PdfStamper stamp = null;

try {

reader = new PdfReader("E:/module.pdf");

SimpleDateFormat simp = new SimpleDateFormat("yyyy-MM-dd");

String times = simp.format(new Date()).trim();

//创建生成报告名称

String root = ServletActionContext.getRequest().getRealPath("/upload") + File.separator;

if (!new File(root).exists())

 new File(root).mkdirs();

File deskFile = new File(root, times + ".pdf");

 stamp = new PdfStamper(reader, new FileOutputStream(deskFile));

//取出报表模板中的所有字段

AcroFields form = stamp.getAcroFields();

// 填充数据

form.setField("name", "zhangsan");

form.setField("sex", "男");

form.setField("age", "15");

java生成pdf 第2张

 //报告生成日期

SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");

String generationdate = dateformat.format(new Date());

form.setField("generationdate", generationdate);

stamp.setFormFlattening(true);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (stamp != null) {

stamp.close();

}

if (reader != null) {

reader.close();

}

}

}