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));
有了这个,您可以像这样直观地了解您的领域:
在我的 .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));
有了这个,您可以像这样直观地了解您的领域: