【问题标题】:iText7 text value is hiddeniText7 文本值被隐藏
【发布时间】:2021-11-09 23:08:55
【问题描述】:

我有一个安全的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");
            }
        }
    }

这是未经编辑的字段的样子:

我运行代码后,该字段仍然像以前一样,但是如果单击它,则有一个值:

在我修改字段后(在末尾添加了一个空格),现在它显示了文本:

我认为这是因为球场上有一些造型。我怎样才能达到最后一张图片所示的效果?

软件版本:

Itext -> 7.1.16

Adobe Acrobat -> 2020.009.20063

【问题讨论】:

  • 嘿,你能分享一个重现问题的示例 PDF 吗?对于表单域,原始 PDF 是调试问题的决定性因素
  • 嘿,确定
  • 模板中“Date”的字段名不一样,为了清楚起见,我在问题里改了
  • 好吧,我还在用7.1.15,但是更新到7.1.16之后还是没问题。但我使用的是 Adob​​e Acrobat Reader 2021.001.20155。请尝试更新您的 Acrobat Reader 并再次检查。如果您仍然遇到问题,请同时分享您获得的结果 PDF 以供分析。
  • 好的,问题是 Adob​​e Acrobat 的版本,现在我已经升级了它,它可以正常工作。感谢您的帮助,我很感激!

标签: c# pdf text styling itext7


【解决方案1】:

在此处重现问题的尝试失败后,下一步是比较所涉及的软件版本。

将 iText 版本同步到当前的 7.1.16 仍然会产生不同的观察结果。

但后来更新了 PDF 查看器 Adob​​e Acrobat (Reader),终于解决了这个问题。

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

(有人可能认为字段值显示等基本功能在 Acrobat 中应该已经稳定多年。但显然这里仍然发生变化。这可能与最近几个月加强签名表单的防伪和年。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 2018-03-22
    • 2018-03-19
    • 1970-01-01
    • 2010-10-10
    • 2023-03-10
    • 2013-05-17
    相关资源
    最近更新 更多