使用iTextSharp将文本框字段添加到XFA表单

时间:2017-05-23 01:52:44

标签: itext

我有一个基于Adobe LiveCycle form(XFA)的XML Forms Architecture

我想使用c#以编程方式向其添加输入字段。

我尝试了很多方法,但无法向现有XFA form添加字段。

1 个答案:

答案 0 :(得分:0)

我已经更新了你的问题,因为它充满了错误。您编写了XFD,但它是XFA:XML Forms Architecture(或XDP,XML Data Package)。 XFA表示您使用PDF包装XML;与XDP相反,它是相反的。

如果要将文本字段添加到XFA表单,则需要在XML级别执行此操作。 iText是一个PDF库:它不允许您将文本字段添加到XFA表单,因为它不会操纵XML。从理论上讲,您可以使用iText从PDF中删除XML,使用XML工具对其进行操作以添加文本字段,然后使用iText将XML重新放回PDF中,但我不知道任何工具以简单的XML操作方式实现XFA规范。

我只为你看到两个选项:

  • 如果您的表单是纯XFA表单,请放弃希望您能够以编程方式添加字段。自己购买Adobe LiveCycle Designer的许可证,并手动添加该字段。
  • 如果您的表单是由XFA和AcroForm技术组成的混合表单,则throw away the XFA part并将文本字段添加为AcroForm字段。

请注意,ISO 32000-2:2017中不推荐使用XFA。我知道只有两种支持XFA的产品:Adobe LiveCycle(用于创建,操作,填充和展平XFA表单)和iText的pdfXFA(用于填充和展平)。我强烈建议你放弃XFA技术。由于不推荐使用,该格式的所有支持都将很快停止。