请阅读文档,特别是iText 7:构建块“第1章:介绍PdfFont类”
在那一章中,您将发现在使用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);
首先我们定义一个名为normal
的Style
,使用14 pt Times-Roman字体。然后我们定义一个名为code
的Style
,使用12 pt Courier字体,红色字体颜色和灰色背景。
接下来,我们使用应用了这些样式的Text
对象组成一个Paragraph
。
请注意,您可以像此示例中所做的那样链接多个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
的字体大小设置为8pt。该字体大小将被添加到
Paragraph
的所有对象继承,除非该对象覆盖了默认大小。这适用于
title1
,我们定义了12pt的字体大小,对于
title2
,我们定义了16pt的字体大小。将作为
String
(
"by"
)添加的内容和作为
Text
对象添加的内容未定义字体大小,因此继承来自所添加到的
Paragraph
的8pt字体大小。
这是从官方教程中复制/粘贴的。希望这足以满足StackOverflow的要求,在那里“仅链接”答案不被允许。 "无链接答案规则" 不应该导致复制/粘贴手册的整个章节...