C#读取XFA表单数据

时间:2012-01-24 16:18:39

标签: c# pdf xfa acrobat-sdk

我正在尝试以编程方式从Livecycle创建的表单中读取字段值。我尝试使用Acrobat COM组件打开文档,它似乎工作,并通过一些反射我设法得到实际的字段名称,但每个字段的值是困难的部分,因为它似乎。

此外,我知道我确实需要使用不同的方法来提取值,因为它是XFA格式的PDF。

(请不要告诉我查看Adobe PDF SDK中提供的示例,因为它们非常糟糕且对我的问题毫无用处 - 我已经从Adobe文档中读到了所有内容。)

谢谢大家。

2 个答案:

答案 0 :(得分:1)

在使用Acrobat和LiveCycle(XFA)表单时,我使用iText / iTextSharp。您需要访问LiveCycle XML DOM作为起点:

iTextSharp示例:

string sourcePdf = @"c:\livecycle.pdf";<br>
PdfReader reader = new PdfReader(sourcePdf);<br>
XmlDocument xmlDoc = reader.AcroFields.Xfa.DomDocument;

您需要熟悉XFA规范才能使用DOM。

答案 1 :(得分:0)

也许,您可以使用第三方库(例如ABCPdf)来提取字段值(这是不是广告,我在类似情况下使用此库,虽然不久前)。

另一个机会是,如果有问题的PDF在您的控制之下,您可以使用LifeCycle生成的PDF文件的HTTP-post工具(AFAIK,他们可以将字段的值发送到预先配置的Web地址一旦用户按下发送按钮)。