请阅读文档,更具体地说是iText 7: building blocks "Chapter 1: Introducing the PdfFont class"
在那一章中,您会发现使用 iText 7 时切换字体要容易得多,因为您可以使用默认字体和字体大小,可以定义和重用Style
对象等等。
一个例子:
Style normal = new Style();
PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
normal.setFont(font).setFontSize(14);
Style code = new Style();
PdfFont monospace = PdfFontFactory.createFont(FontConstants.COURIER);
code.setFont(monospace).setFontColor(Color.RED)
.setBackgroundColor(Color.LIGHT_GRAY);
Paragraph p = new Paragraph();
p.add(new Text("The Strange Case of ").addStyle(normal));
p.add(new Text("Dr. Jekyll").addStyle(code));
p.add(new Text(" and ").addStyle(normal));
p.add(new Text("Mr. Hyde").addStyle(code));
p.add(new Text(".").addStyle(normal));
document.add(p);
首先我们定义一个Style
我们称之为normal
并使用 14 pt Times-Roman 的。然后我们定义一个Style
我们称之为的code
,它使用 12 pt Courier in Red 和灰色背景。
然后我们组成一个使用这些样式的Paragraph
usingText
对象。
请注意,您可以链接add()
注释,如本示例中所做的那样:
Text title1 = new Text("The Strange Case of ").setFontSize(12);
Text title2 = new Text("Dr. Jekyll and Mr. Hyde").setFontSize(16);
Text author = new Text("Robert Louis Stevenson");
Paragraph p = new Paragraph().setFontSize(8)
.add(title1).add(title2).add(" by ").add(author);
document.add(p);
我们将新创建的字体大小设置Paragraph
为 8 pt。此字体大小将由添加到 的所有对象继承Paragraph
,除非对象覆盖该默认大小。我们为这种情况title1
定义了 12 pt 的字体大小,并为此title2
定义了 16 pt 的字体大小。添加为String
( " by "
) 的内容和添加为Text
未定义字体大小的对象的内容继承了Paragraph
添加它们的字体大小 8 pt。
这是官方教程的复制/粘贴。我希望这对于不允许“仅链接”答案的 StackOverflow 来说已经足够了。这个“没有链接只回答规则”不应该导致复制/粘贴手册的一整章......