PdfTextFormField 值未使用 iText 7.2.0 填充

PdfTextFormField values is not getting populated with iText 7.2.0

在我的 .Net 项目中,我正在使用

    <PackageReference Include="itext7" Version="7.2.0" />

在 c# 中 class,

PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);

PdfTextFormField borrowerField = PdfFormField.CreateText(pdf);

borrowerField.SetFieldName("Borrowers_Name");
borrowerField.SetValue("Name");
form.AddField(borrowerField);

我可以看到字段名称为“Borrowers_Name”,但值是 iText.Forms.Fields.PdfTextFormField 而不是名称。 因此在我的 PDF 中,我看到值是空白的。

当我尝试使用

获取值时
form.GetField("Borrowers_Name").GetValueAsString();

我可以看到设置的值。但是当我打开pdf时,它是空的。

您创建了一个表单域,但没有在页面上定义它的区域。因此,该字段被创建为不可见字段。

为您的字段定义 on-page 区域的最简单方法是在创建方法中,例如通过替换

PdfTextFormField borrowerField = PdfFormField.CreateText(pdf);

来自

PdfTextFormField borrowerField = PdfFormField.CreateText(pdf, new Rectangle(100, 600, 200, 20));

有了这个,您可以像这样直观地了解您的领域: