1. 准备pdf 模板
2. 准备字体JAR
3. 代码部分
// 模板路径
String templatePath ="D:/pdftext/pdfyuan1.pdf";
// 生成的新文件路径
String newPDFPath ="D:/pdftext/pdfNew.pdf";
PdfReader reader;
FileOutputStream out;
ByteArrayOutputStream bos;
PdfStamper stamper;
try {
out = newFileOutputStream(newPDFPath);// 输出流
reader = newPdfReader(templatePath);// 读取pdf模板
bos = newByteArrayOutputStream();
stamper = new PdfStamper(reader,bos);
AcroFields form =stamper.getAcroFields();
//设置中文字体 simkai.ttf得下载
BaseFont bfChinese =BaseFont.createFont("D:/simkai.ttf", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//设置字体大小
Font headFont = new Font(bfChinese,8, Font.NORMAL);
String[] str = { "样品1", "结论1", "标记1", "2017-1-1"};
int i = 0;
java.util.Iterator<String> it= form.getFields().keySet().iterator();
while (it.hasNext()) {
String name =it.next().toString();
System.out.println(name);
form.setFieldProperty(name,"textfont", bfChinese,null);
form.setField(name,str[i++]);
}
stamper.setFormFlattening(true);// 如果为false那么生成的PDF文件还能编辑,一定要设为true
stamper.close();
Document doc = new Document();
PdfCopy copy = new PdfCopy(doc,out);
doc.open();
PdfImportedPage importPage =copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);
copy.addPage(importPage);
doc.close();
} catch (IOException e) {
System.out.println(1);
} catch (DocumentException e) {
System.out.println(2);
}