如何使用Java iText在pdf文件中将字体名称作为字符串传递

如何使用Java iText在pdf文件中将字体名称作为字符串传递,pdf,fonts,itext,styles,Pdf,Fonts,Itext,Styles,我正在生成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(DE

我正在生成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));
}

您还可以在文档级别定义字体(我正在显示并直接在段落上)。

我不确定我是否理解这个问题。你想用那种字体定义在PDF上写,是吗?是的,没错。我有一个字符串字体(例如Calibri),它来自Excel工作表(XSSF工作簿)。我需要生成具有特定字体名称的PDF文件。别忘了添加它。