带有 xfa 和 iText 的 Pdfa

Pdfa's with xfa and iText

我们有一个带有 xfa init 的 pdf 表格。

我在本地抓取 xfa 数据并将其保存到 xml 文件。

<?xml version="1.0" encoding="UTF-8"?><xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<form1>
<Name>J Motiwala</Name>
<Title>Senior Software Engineer</Title>
<Deptartment>development</Deptartment>
<Phone>678-751-9448</Phone>
<Date>2017-03-10</Date>
<DateNeeded>2017-03-10</DateNeeded>
<Reason>Training course</Reason>
<Payee>Safari</Payee>
<Amount>125.00000000</Amount>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<DeliveryInstructions>please send a cheque</DeliveryInstructions>
<Comments>training needed asap</Comments>
<AmountPaid/>
<CheckNo/>
<DateReceived/>
</form1>
</xfa:data>

现在这也可能是

<?xml version="1.0" encoding="UTF-8"?><xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"/>

我的问题是,如果 form1 标签是标准的 xfa 标签,我找不到任何说明它是标准标签的文档。

我的问题是,如果找不到 form1 标签,我可以通过代码生成它并简单地更新 xml 吗?

标签也可以命名为 form1 以外的任何名称。

<form1> 不是 标准 XFA。在 XFA 中,表单的设计者可以使用他想要的任何 XSD 作为 <xfa:data>。这是 XFA 的优势;人们不必根据表格调整数据。通常情况下,XFA XML 中还会存储一个数据描述部分。此描述的语法看起来有点像 XSD,但它不是。

如果您有现有的 PDF,则不能只 "invent" 新标签,因为标签名称和字段名称之间存在数据绑定。如果你引入了一个表单不知道的标签,相应的数据将不会出现在表单的任何地方。