【问题标题】:How to pass font name as string in pdf file with Java iText如何使用Java iText在pdf文件中将字体名称作为字符串传递
【发布时间】:2020-11-19 17:06:37
【问题描述】:

我正在生成 pdf 报告,其中包含很少的输入,例如字体名称、字体大小。我尝试使用以下代码创建字体。

Font font = new Font(FontFamily.TIMES_ROMAN,50.0f,Font.UNDERLINE,BaseColor.RED);

这里,如何将字体名称TIMES_ROMAN作为字符串传递?

【问题讨论】:

  • 不确定我是否理解这个问题。您想使用该字体定义在 PDF 上书写,是吗?
  • 是的,没错。我有一个来自 Excel 工作表(XSSFWorkbook)的字符串(例如 Calibri)字体。我需要生成具有该特定字体名称的 PDF 文件。

标签: pdf fonts itext styles


【解决方案1】:

以下是有关如何使用 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));
}

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2010-12-19
  • 1970-01-01
  • 2018-06-05
相关资源
最近更新 更多