3

USCIS フォームに記入しようとしていますが、記入後は読み取り専用になります (フラット化)。なぜそれがそうしているのかわかりません。それを平坦化するコードはありませんが。スタック オーバーフローを検索し、さまざまなことを試しましたが (itextsharp 5.5.9 と itext 7 を使用)、それでも機能しません。

これが私が使用しているサンプルコードです

string src = @"https://www.uscis.gov/sites/default/files/files/form/i-90.pdf";
    string dest = @"C:\temp\i-90Filled.pdf";

    var reader = new PdfReader(src);
    reader.SetUnethicalReading(true);
    var writer = new PdfWriter(dest);

    PdfDocument pdfDoc = new PdfDocument(reader, writer);


    // add content
    PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);

    IDictionary<String, PdfFormField> fields = form.GetFormFields();

    PdfFormField toSet;

    fields.TryGetValue("form1[0].#subform[0].P1_Line3b_GivenName[0]", out toSet);
    toSet.SetValue("John");

    pdfDoc.Close();
4

1 に答える 1