public static void main(String[] args) throws DocumentException, IOException {
PdfReader reader = new PdfReader("/Users/xxx/Downloads/现场检查记录.pdf");
// PdfReader reader = new PdfReader("/Users/mohaotian/Desktop/简易程序处罚决定书.pdf"); // 模版文件目录
PdfStamper ps = new PdfStamper(reader, new FileOutputStream("/Users/xxx/Downloads/fillTemplate.pdf")); // 生成的输出流
AcroFields s = ps.getAcroFields();
Map fieldMap = s.getFields(); // pdf表单相关信息展示
for (Entry entry : fieldMap.entrySet()) {
String name = entry.getKey(); // name就是pdf模版中各个文本域的名字
Item item = (Item) entry.getValue();
System.out.println("[name]:" + name + ", [value]: " + item);
}
s.setField("jcsjKey", "aaa、啊哒哒哒1111aaaa");
s.setField("jcqkKey", "撒打算打算大");
ps.setFormFlattening(false); // 这句不能少
ps.close();
reader.close();
}
setFormFlattening设置True生成的pdf文本域中没有数据
但是改为false文本域中有数据但是只有点击文本域的时候才会显示出来
我在网上查了很多 有说是中文问题
但是我改成英文的也是这样子