我使用包含一个表单文本字段的Master PDF Editor创建了一个PDF。
使用iText7-Community
操作该PDF文件时,我设法找到该字段并设置其值。但是,当我展平输出PDF文件时,该字段被翻录并且只是消失。
底线:字段显示正常而没有展平,并在展平时消失。
我从isXfaPresent()
开始XfaForm
,回复是false
,所以我知道它确实是AcroForm
。
所以,这就是我的尝试:
PdfReader reader = new PdfReader("path-to-file.pdf");
PdfWriter writer = new PdfWriter("path-to-dest-file.pdf");
PdfDocument doc = new PdfDocument(reader, writer);
PdfAcroForm form = PdfAcroForm.getAcroForm(doc, false);
form.getField("treinamento").setValue(param);
System.out.println("----> " + form.getField("treinamento").value);
form.flattenFields();
doc.close();
System.out
显示正确设置的值,但输出文件未显示。如果我评论form.flattenFields()
,那就是。
非常感谢任何帮助我解决这个问题的方法。
答案 0 :(得分:0)
致电form.getField("treinamento").regenerateField();
setValue(...)
PdfReader reader = new PdfReader("path-to-file.pdf");
PdfWriter writer = new PdfWriter("path-to-dest-file.pdf");
PdfDocument doc = new PdfDocument(reader, writer);
PdfAcroForm form = PdfAcroForm.getAcroForm(doc, false);
form.getField("treinamento").setValue(param);
System.out.println("----> " + form.getField("treinamento").value);
form.getField("treinamento").regenerateField();
form.flattenFields();
doc.close();