我尝试用 C# 填写 PDF 表单。但不知何故它不起作用。问题: fields
对象(在行中: fields.SetField("Name", "Peter");
)似乎是 null
。
这是我的代码:
public static void FillForm()
{
String pdfTemplate = @"c:\Users\Hagen\Desktop\formular.pdf";
String newFile = @"c:\Users\Hagen\Desktop\formular_fertig.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
AcroFields fields = pdfStamper.AcroFields;
fields.SetField("Name", "Peter");
pdfStamper.Close();
}
最佳答案
我记得当我第一次尝试填写表单字段时遇到了类似的问题。您拥有的用于初始化 pdfStamper 的行;
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
尝试像这样向印章对象添加读写权限。
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create, FileAccess.ReadWrite));
那可能是你的问题。我不记得我自己是如何解决这个问题的,但这就是我最初想到的。它很可能正在尝试写入字段值,但压模没有完成此操作所需的 FileAccess。
希望这可以帮助
关于c# - 使用 iTextSharp 填充 PDF 表单字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11306792/