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读取和写入表单字段.
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对象,这是一个非常微妙的区别.