iTextPdf:使用非嵌入字体

时间:2012-08-16 21:29:36

标签: java itextpdf

我使用Java和iTextPdf创建了一个表,它列出了一堆单元格。我无法弄清楚如何更改这些单元格内的文本字体。这对我的孩子来说很重要,所以我正在尝试使用Comic Sans MS。一切都编译并运行得很好,但我得到一个通用字体(可能是Helvetica或类似的东西)。

任何人都知道如何生成这样的字体?谢谢!

以下是我写的缩小版本:

import com.itextpdf.text.FontFactory; 
import com.itextpdf.text.pdf.FontSelector;

public static PdfPTable createTable() {
        FontSelector selector = new FontSelector();
        selector.addFont(FontFactory.getFont("Comic Sans MS"));
        PdfPTable table = new PdfPTable(3);
        PdfPCell cell;
        Phrase ph;

        ph = selector.process("My Title");
        cell = new PdfPCell(ph);
        table.addCell(cell);
        return table;

1 个答案:

答案 0 :(得分:0)

您可以将字体导入FontFactory,然后将其用作

    String filename = "Comic Sans MS.ttf";
    FontFactory.register(filename, filename);
    Font font = FontFactory.getFont(filename, BaseFont.CP1252, BaseFont.EMBEDDED);

这也会将字体嵌入PDF文件中,因此即使目标PDF阅读器没有安装此字体,它也能正常工作。