【问题标题】:PDF - Text not showing when filling formPDF - 填写表格时不显示文本
【发布时间】:2014-05-24 13:36:36
【问题描述】:

我在使用 iTextSharp 填写 PDF 表单时遇到问题,我正在使用以下代码填写 PDF 表单:

PdfReader pdfReader = new PdfReader(Properties.Resources.ConfirmationFees);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(folderPath + "\\" +fileName, FileMode.Create));

AcroFields pdfFFields = pdfStamper.AcroFields;

pdfFFields.SetFieldProperty("Text1", "textsize", 10.0f, null);

pdfFFields.SetField("Text1", serialNumber.ToString("D6") + "№");

pdfStamper.FormFlattening = false;

// close the pdf
pdfStamper.Close();

当我打开 PDF 时,我必须选择 textField 并转到属性,选择边框颜色或填充颜色,然后单击“无颜色”。或者只是简单地向文本字段添加一个字符。

我尝试将 textField 的边框和背景颜色设置为 null,但没有成功。

那么,如果不采取上述方法,我该如何解决这个问题呢?

【问题讨论】:

标签: c# pdf itextsharp


【解决方案1】:

您是如何创建表单的?如果使用 Open/Libre Office,那么表格有点糟糕。您可能需要添加这一行:

pdfFFields.setGenerateAppearances(true);

在您的特定 C# sn-p 中,这将是:

pdfFFields.GenerateAppearances = true;

另见:

如果这不能解决您的问题,您需要告诉我们您使用的是哪个版本的 iTextSharp。如果是 5.5.1 之前的版本,请升级。

【讨论】:

  • 我正在使用 iTextSharp V. 5.4.1.0,我检查了 pdfFFields.GenerateAppearances = true; 并没有解决我的问题。另外,我没有展平PDF。我使用 inDesign 创建了 PDF,在其中创建了一个文本字段,并将该文件用作我的桌面应用程序的模板。
  • 请分享 PDF,同时告诉我们您使用的字体。
  • 解决了我的问题... 使用 Acrobat Pro 创建的模板运行良好,但后来我改用其他编辑器。非 Adob​​e 编辑器保存的模板需要这行额外的代码。
猜你喜欢
  • 1970-01-01
  • 2016-04-05
  • 2012-07-28
  • 2015-12-13
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多