有没有办法使用追加模式在启用阅读器的 LiveCycle PDF 上使用 itext 7 插入 XFA 表单值



我需要使用 iText 7 将 XFA 表单字段值输入到支持 LiveCycle 阅读器的 PDF 中。我可以成功地做到这一点,但是如果我没有在追加模式下打开PDF,那么Adobe签名似乎被破坏了,并且用户无法进一步编辑表单值并再次保存。如果我在追加模式下使用 iText 7 打开 PDF 并更改 XFA 表单字段值,则启用阅读器的签名不会损坏,但更改的值不会显示在表单上。这似乎是iText 7的错误,并且可能使用附加模式更改XFA表单字段值。有没有人成功地做到这一点?

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();

最新更新