iText7 文本值被隐藏
iText7 text value is hidden
我有一个带有可编辑字段的安全 PDF Template。当我设置一个字段的值时,它不会显示,直到我点击它并修改它。
向字段中插入值的代码:
static void Main(string[] args)
{
using (PdfReader reader = new PdfReader(desktopPath + "PdfTemplate.pdf"))
{
reader.SetUnethicalReading(true);
using (PdfDocument pdfDocument = new PdfDocument(reader, new PdfWriter(desktopPath + "ModifiedPdfTemplate.pdf")))
{
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDocument, true);
IDictionary<string, PdfFormField> fields = form.GetFormFields();
fields["Date"].SetValue("DATE");
}
}
}
未经编辑的字段如下所示:
在我运行代码之后,该字段看起来还是以前的样子,但是如果我点击它会有一个值:
我修改字段后(在末尾添加了一个space),现在它显示文本:
我认为这是因为球场上有一些造型。我怎样才能达到最后一张图片所示的效果?
软件版本:
Itext -> 7.1.16
Adobe Acrobat -> 2020.009.20063
在此处重现问题失败后,下一步是比较所涉及软件的版本。
将 iText 版本同步到当前的 7.1.16 仍然导致不同的观察结果。
但后来更新了 PDF 查看器 Adobe Acrobat (Reader),终于解决了这个问题。
显然 Acrobat 2020.009.20063 无法正确显示字段,而 Acrobat 2021.001.20155 和 2021.007.20091 成功。
(有人可能认为像字段值显示这样的基本功能应该已经在Acrobat中稳定了很多年了。但显然这里确实还在发生变化。这可能与最近加强了签名表单的防伪造有关月和年。)
我有一个带有可编辑字段的安全 PDF Template。当我设置一个字段的值时,它不会显示,直到我点击它并修改它。
向字段中插入值的代码:
static void Main(string[] args)
{
using (PdfReader reader = new PdfReader(desktopPath + "PdfTemplate.pdf"))
{
reader.SetUnethicalReading(true);
using (PdfDocument pdfDocument = new PdfDocument(reader, new PdfWriter(desktopPath + "ModifiedPdfTemplate.pdf")))
{
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDocument, true);
IDictionary<string, PdfFormField> fields = form.GetFormFields();
fields["Date"].SetValue("DATE");
}
}
}
未经编辑的字段如下所示:
在我运行代码之后,该字段看起来还是以前的样子,但是如果我点击它会有一个值:
我修改字段后(在末尾添加了一个space),现在它显示文本:
我认为这是因为球场上有一些造型。我怎样才能达到最后一张图片所示的效果?
软件版本:
Itext -> 7.1.16
Adobe Acrobat -> 2020.009.20063
在此处重现问题失败后,下一步是比较所涉及软件的版本。
将 iText 版本同步到当前的 7.1.16 仍然导致不同的观察结果。
但后来更新了 PDF 查看器 Adobe Acrobat (Reader),终于解决了这个问题。
显然 Acrobat 2020.009.20063 无法正确显示字段,而 Acrobat 2021.001.20155 和 2021.007.20091 成功。
(有人可能认为像字段值显示这样的基本功能应该已经在Acrobat中稳定了很多年了。但显然这里确实还在发生变化。这可能与最近加强了签名表单的防伪造有关月和年。)