【发布时间】:2011-09-08 14:16:31
【问题描述】:
我想在预制的 PDF 文档中填写表单字段,但在运行 AcroForm 时收到 Null Refrence 错误。
string fileN4 = TextBox1.Text + " LOG.pdf";
File.Copy(Path.Combine(textBox4.Text + "\\", fileN4),
Path.Combine(Directory.GetCurrentDirectory(), fileN4), true);
// Open the file
PdfDocument document = PdfReader.Open(fileN4, PdfDocumentOpenMode.Modify);
PdfTextField currentField = (PdfTextField)(document.AcroForm.Fields["<CASENUM>"]);
//const
string caseName = TextBox1.Text;
PdfString caseNamePdfStr = new PdfString(caseName);
//set the value of this field
currentField.Value = caseNamePdfStr;
// Save the document...
document.Save(fileN4);
所以PdfTextField currentField = (PdfTextField)(document.AcroForm.Fields["<CASENUM>"]); 是错误发生的地方。似乎 AcroForm 甚至无法识别这些字段。
另一种选择是在 PDF 中查找和替换文本(不使用 itextsharp,因为由于许可而无法使用)。
任何帮助都会很棒!
【问题讨论】: