pdf - 如何使用Java iText在pdf文件中将字体名称作为字符串传递
问题描述
我正在生成带有少量输入(如字体名称、字体大小)的 pdf 报告。我尝试使用以下代码创建字体。
Font font = new Font(FontFamily.TIMES_ROMAN,50.0f,Font.UNDERLINE,BaseColor.RED);
在这里,如何将 TIMES_ROMAN 的字体名称作为字符串传递?
解决方案
这是有关如何使用 iText 7 实现所需行为的快速方法:
final PdfDocument pdfDocument = new PdfDocument(new PdfWriter(DEST));
PdfFont font = PdfFontFactory.createFont(FontProgramFactory.createFont(StandardFonts.TIMES_ROMAN));
Style myStyle = new Style()
.setFontSize(50)
.setUnderline()
.setFontColor(RED)
.setFont(font);
try (final Document document = new Document(pdfDocument)) {
document.add(new Paragraph("Hello World!").addStyle(myStyle));
document.add(new Paragraph("Hello World!").setFont(font)
.setFontSize(50)
.setUnderline()
.setFontColor(RED));
}
您还可以在文档级别定义字体(我正在显示样式并直接在段落上)。