2017-03-10 69 views
0

我们有一个pdf格式的xfa init。Pdfa的xfa和iText

我抓取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以外的任何其他名称。

+0

你的问题与[tag:iText]有什么关系? – mkl

回答

1

<form1>不是标准 XFA。在XFA中,表单的设计者可以使用他希望用于<xfa:data>的任何XSD。这是XFA的优势;人们不必将他们的数据调整到表单中。通常,还有一个存储在XFA XML中的数据描述部分。这个描述的语法看起来有点像XSD,但它不是。

如果您有现有的PDF,您不能只是“发明”新的标签,因为标签名称和字段名称之间存在数据绑定。如果您引入了表单未知的标签,则相应的数据将不会显示在表单中的任何位置。

+0

感谢布鲁诺。在相关说明中,iText现在是否支持使用xfa填充列表框。我无法在iText上找到它的代码示例。 – Zoharat