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 查看器 Adob​​e Acrobat (Reader),终于解决了这个问题。

显然 Acrobat 2020.009.20063 无法正确显示字段,而 Acrobat 2021.001.20155 和 2021.007.20091 成功。

(有人可能认为像字段值显示这样的基本功能应该已经在Acrobat中稳定了很多年了。但显然这里确实还在发生变化。这可能与最近加强了签名表单的防伪造有关月和年。)