使用iTextSharp填写PDF表单字段

时间:2012-07-03 08:03:35

标签: c# itextsharp

我尝试用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();
}

1 个答案:

答案 0 :(得分:2)

当我第一次尝试填写表单字段时,我记得有类似的问题。您初始化pdfStamper的行;

PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));

尝试向标记对象添加ReadWrite权限,如下所示。

PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create, FileAccess.ReadWrite));

那可能是你的问题。我不记得我是如何自己解决这个问题的,但这最初是我跳出来的。它可能正在尝试写入字段值,但是压模没有完成此操作所需的FileAccess。

希望这有帮助

相关问题