如何使用iTextSharp阅读PDF表格数据?

Bhu*_*van 16 c# forms pdf itext

我试图找出是否可以使用iTextSharp阅读PDF表格数据(表格填写并随表格保存).我怎样才能做到这一点?

cec*_*lip 19

您必须在PDF表单中找到字段名称.获取字段然后读取它们的值.

string pdfTemplate = "my.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
AcroFields fields = pdfReader.AcroFields.Fields;
string val = fields.GetField("fieldname");
Run Code Online (Sandbox Code Playgroud)

显然,在上面的代码中,字段名称是PDF表单字段的名称,GetField方法返回该值的字符串表示形式. 是一篇文章,其中包含您可能使用的示例代码.它显示了如何使用iTextSharp读取和写入表单字段.

  • 你好。我认为您的示例的第三行中有错误。正确的形式是:`AcroFields fields = pdfReader.AcroFields;` (2认同)

Ada*_*nes 11

也许iTextSharp库最近发生了变化,但我无法获得接受的工作答案.这是我的解决方案:

var pdf_filename = "pdf2read.pdf";
using (var reader = new PdfReader(pdf_filename))
{
    var fields = reader.AcroFields.Fields;

    foreach (var key in fields.Keys)
    {
        var value = reader.AcroFields.GetField(key);
        Console.WriteLine(key + " : " + value);
    }
}
Run Code Online (Sandbox Code Playgroud)

由于reader.AcroFields.Fields返回一个IDictionary而不仅仅是一个AcroFields对象,这是一个非常微妙的区别.