Augu4
2019-03-06 10:00[java]使用itext以及itext-asian实现pdf根据模板文件填充数据生成新pdf文件遇到的问题
5发现中文 显示问题,不知道是否是itext-asian5.2.0包的bug,在中文显示中,只有“证”字无法显示,其他中文目前没发现有不显示的问题。
String templatePath = "D:/updates/pdfTest.pdf";
//生成的新文件路径
String newPDFPath = "D:/updates/NewpdfTest.pdf";
PdfReader reader;
FileOutputStream out;
ByteArrayOutputStream bos;
PdfStamper stamper;
try {
out = new FileOutputStream(newPDFPath);//输出流
reader = new PdfReader(templatePath);//读取pdf模板
bos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, bos);
AcroFields form = stamper.getAcroFields();
String[] str = {"小证明","110","13666666666","163@qq.com",
"二代身份证"
,"230*************1221"};
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.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) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- Itext2 pdf 表格怎么添加 checkbox?
- java
- 1个回答
- 可运行jar运行报错,有main,不是jre版本问题,貌似是itext的问题
- java
- eclipse
- jar
- 1个回答
- ITextRenderer 将html文件转为PDF中的问题
- java
- 2个回答
- 利用itext生成pdf,如何向pdf中输出checkbox复选框
- java
- 0个回答
- 关于iText操作pdf的问题
- 企业应用
- 0个回答
换一换