使用iText填写静态XFA PDF

我有一个静态XFA PDF,我希望以编程方式填写 . 我可以使用Xfa.FillXfaForm()方法,这适用于更新XFA数据集DOM . 但是,它不会更新相应的Acroform字段注释(静态XFA表单中包含XFA表单和Acroform) . 符合XFA标准的渲染器将拾取并读取XML数据集Dom,但是,许多渲染器(如Google Chrome和Firefox)会忽略XFA字典,这意味着表单不会显示在那里 . 有没有办法让iText同步静态表单的Acroform和XFA值部分?我正在使用iTextSharp 5 .

回答(1)

2 years ago

我的答案和最好的建议是......不要!

如果您正在使用静态XFA and ,您的主要关注点是让它在非Adobe视图中一致显示 and 您可以访问像iText这样的体面图书馆工具,您_2779800已经获得非XFA感知和XFA感知的观看者接触PDF,决定哪组数据是正确的集合是有问题的,字段值与外观可能会不同步 . 任何FormCalc脚本和扩展字段都不具备XFA部分的优势 .

在此过程中,您可以在XML输入和AcroForm字段名称之间构建一个映射,并将其存储在文档元数据中,以便您的应用程序可以轻松地填充表单,就像它仍然是XFA一样,但您不必担心同步在同一PDF中使用两种完全不同且不兼容的表单技术的数据 . (老实说,我很想知道谁认为这首先是一个好主意)