【问题标题】:How to format text in pdf template with iText如何使用 iText 格式化 pdf 模板中的文本
【发布时间】:2013-04-18 20:07:45
【问题描述】:

我创建了一个带有“开放式办公室作家”的 pdf 模板,并用 iText 填充了这些字段。在这样的伪代码中:

PdfReader reader = new PdfReader("C:/temp/Template.pdf");
FileOutputStream fileOutputStream = new FileOutputStream("C:/temp/TemplateTest.pdf");
PdfStamper stamper = new PdfStamper(reader, fileOutputStream);
stamper.setFormFlattening(true);
stamper.getAcroFields().setField("description", "This is a important description.");

stamper.close();

现在我只希望“描述”文本中的“重要”一词加粗。我该如何处理?是否可以使用 iText 和子字符串更改 pdf 模板中的给定格式?

【问题讨论】:

    标签: templates pdf formatting itext openoffice-writer


    【解决方案1】:

    您已经在 PDF 中定义了一个文本字段以及应该用于该文本字段的字体,例如黑体字。在这种情况下,您只能使用该字体。您不能引入其他字体,例如 Helvetica-Bold。

    您要查找的不是文本字段,而是富文本字段。在这种情况下,您设置一个富文本值。这个富文本值看起来很像 HTML,但略有不同。您可以查阅 ISO-32000-1 以了解它的不同之处。

    您可以使用 iText 填写富文本字段,但...仅当您不展平表单时。因为如果您希望 iText 呈现特殊风格的 HTML,则需要代码来解析该 HTML。实际上:这就是我们在 XFA Worker 中所做的,但这对您没有帮助,因为您没有 XFA 表单,您有一个 AcroForm。

    长话短说:阅读我的书的第 8 章,您会发现我使用 ColumnText 和字段位置填写字段的示例。如果您没有这本书,请查看MovieAds 示例。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2011-10-17
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多