我用Master PDF Editor创建了一个包含一个表单文本字段的PDF。当使用iText7-Community操作PDF文件时,我设法找到该字段并设置它的值。然而,当我展平输出的PDF文件时,该字段被抓取并消失。
底线:字段在没有展平的情况下显示得很好,在展平时会消失。
我在XfaForm上运行isXfaPresent(),得到的响应是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(),它就会这样做。
任何关于我应该做什么来解决这个问题的帮助都是非常感谢的。
发布于 2018-05-14 16:53:00
在调用setValue(...)之后尝试调用form.getField("treinamento").regenerateField();
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();https://stackoverflow.com/questions/50276549
复制相似问题