首页 文章

如何使用 iText 格式化 pdf 模板中的文本

提问于
浏览
1

我创建了一个带有“开放办公室作家”的 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();

现在我只想在'description'文本中加上'重要'这个词。我怎么处理这个?是否可以使用 iText 和子字符串更改 pdf 模板中的给定格式?

1 回答

  • 1

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

    您要查找的不是文本字段,而是富文本字段。在这种情况下,您可以设置 Rich Text 值。此富文本值看起来非常像 HTML,但它略有不同。你可以咨询 ISO-32000-1 来找出它的不同之处。

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

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

相关问题