【发布时间】: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之后还是没问题。但我使用的是 Adobe Acrobat Reader 2021.001.20155。请尝试更新您的 Acrobat Reader 并再次检查。如果您仍然遇到问题,请同时分享您获得的结果 PDF 以供分析。
-
好的,问题是 Adobe Acrobat 的版本,现在我已经升级了它,它可以正常工作。感谢您的帮助,我很感激!
标签: c# pdf text styling itext7