3

PDFフォームにC#を入力しようとしています。しかし、どういうわけかそれは機能しません。問題: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();
}
4

1 に答える 1

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 がありません。

お役に立てれば

于 2012-07-19T18:33:34.783 に答える