如何从W9税务凭证中读取字段值

时间:2013-12-02 20:26:14

标签: itextsharp

我正在努力从已填写的W9税务文件中提取一些信息,特别是通过回显标志签署的信息。当我使用最新版本的ITextSharp打开文件时,所有字段值都是空白的。当我调用IsEncrypted时,它返回true,但我没有提供密码,也不需要在浏览器/阅读器中查看pdf。有人有主意吗?我不能提供最终pdf的副本,因为它里面有某人ssn

2 个答案:

答案 0 :(得分:2)

我用Google搜索了一张空白的W9税表。我发现的那个(2013年8月,Rev。)是一种混合XFA形式:它包含AcroForm和XFA技术。

您说所有字段值都是空白的。我假设你的意思是AcroForm字段。因此,数据可能包含在XFA数据中。您可以轻松查看:

PdfReader reader = new PdfReader("w9.pdf");
XfaForm xfa = new XfaForm(reader);
XmlNode xfaNode = xfa.DatasetsNode;
reader.Close();
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
XmlWriter writer = XmlWriter.Create("xfadata.xml", settings);
xfaNode.WriteTo(writer);
writer.Close();

xfadata.xml文件将包含XFA数据。如果要提取的字段值存在,则只需解析XML结构。

答案 1 :(得分:0)

我实际上发现了这个问题,它出现在EchoSign的一边。基本上,当他们向您发送最终的pdf文档时,他们会删除所有字段并将其替换为实际的文本元素。如果我只是PdfTextExtractor.GetTextFromPage(reader,1);我可以在结果中查看我正在寻找的文本,现在写一个正则表达式来获取它,感谢您的帮助!