是否可以将一个或多个基于 XFA 表单的 PDF 文件与 iText 一起附加或合并?

Is it possible to append or merge one or more XFA form-based PDF files together with iText?

我有一个 PDF 文件,其中包含基于 XFA (XML) 表单的嵌入表单。第一个 PDF 有一个 table ,其中包含一个人员列表。如果 table 溢出,随后的人员列表将由附录页面处理,该页面也是 PDF(基于 XFA 的表单)。是否可以使用 iText 将所有基于 XFA 的 PDF 合并为一个 PDF?

@BrunoLowagie 感谢您的回复。实际上,我设法让 iText 连接 PDF 交互式表单以创建自定义 PDF 数据包。让我解释一下我是怎么做到的。

通过使用 Adob​​e Acrobat XI Pro,我了解到当加载 XFA PDF 时,如果我转到“工具”->“编辑”,我将无法编辑表单(它通常会警告我此 PDF 是由 LiveCycle Designer 创建的),但是当我转到页面-> 提取,然后 select 所有要提取的页面时,整个基于 XFA 的 PDF 被提取并转换为基于 AcroForms 的 PDF。因此,如果我在基于 XFA 的 PDF 中有 25 个字段,它已成功将所有 25 个字段转换为 AcroForm 字段。不知何故,Adobe Acrobat 必须根据 XML 结构来确定变量名称。 (即 xpath)//form1/Page1/variable1 已转换为 acro 字段名称:form1[0].Page1[0].variable1[0]。所有可见(可编辑表单)字段都像往常一样存在并对齐(像素完美)。

如果我将 XFA PDF 展平,我将再次需要将表单域放回每一页,这会很乏味。通过使用 Pages->Extract->All Pages,它会为我转换所有内容(不需要展平 - 展平也会剥离所有字段;也不需要 XFA worker lib)。

但是,我的 PDF 数据包是静态的,我想重复附录页面以防数据从第二页溢出。我知道我可以修改初始 XFA 来处理此溢出,但客户希望使用完整的页面查找附录,headers/footers 完好无损。

我发现我可以通过Adobe Acrobat Pro->Pages->Extract->(SelectAddendum Page单独提取附录页来实现,然后它被转换成PDF格式w/AcroForm完好无损。

我拿了原始 PDF 数据包并尝试连接附录 PDF 页面。所以目前,主数据包有 AcroForm 字段,附录 PDF 页面也有 AcroForm 字段。

当我使用 PdfCopy 或 PdfConcatenate 进行连接时,我注意到我在调用 form.getFields()

时丢失了所有表单字段

当我使用(已弃用的)PdfCopyFields 进行串联时,所有 AcroForm 字段都完好无损。 (正是我所需要的!)我还测试了 PdfCopyFields,其中一些字段是 filled/saved 并且 PdfCopyFields 仍然有效并保留了预填充的值。我查看了 PdfCopyFields 被标记为弃用的原因,说我们可以合并可访问文件并丢失表单,或者合并表单或丢失可访问性(标记的 PDF)。如果我不关心带标签的 PDF 或可访问性怎么办?....并且仍然需要 PDFCopyFields 来完整地继承表单域。到目前为止,我被迫继续使用 PDFCopyFields,因为它完全满足我将 PDF 与交互式表单域连接的需要。如果 PDFCopyFields 消失,是否可以更新 PDFCopy 以选择复制字段?