我需要使用iText 7将XFA表单字段值输入到支持LiveCycle阅读器的PDF中。我可以成功完成此操作但是如果我没有在附加模式下打开PDF,则会出现Adobe签名被破坏且表单用户无法进一步编辑值并再次保存。如果我在附加模式下使用iText 7打开PDF并更改XFA表单字段值,则启用阅读器的签名不会被破坏,但更改的值不会显示在表单上。这似乎是iText 7的一个错误,并且可能使用追加模式更改XFA表单字段值。有没有人成功地做到了这一点?
答案 0 :(得分:1)
在iText7
中以附加模式填写XFA表单时出现错误。这已在7.0.2
(和7.0.2-SNAPSHOT
)修复。
在追加模式中填写表格,您需要以下代码:
PdfDocument pdfdoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(DEST),
new StampingProperties().useAppendMode());
PdfAcroForm form = PdfAcroForm.getAcroForm(pdfdoc, true);
XfaForm xfa = form.getXfaForm();
xfa.fillXfaForm(new FileInputStream(XML));
xfa.write(pdfdoc);
pdfdoc.close();