C#读取XFA表单数据

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

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

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

谢谢你们。

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

iTextSharp示例:

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

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

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

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

Interesting Posts