在PDF文档中嵌入OTF字体

2022-04-25 00:00:00 pdf fonts java pdfbox

有没有办法使用ApachePDFBox(2.0)在PDF文档中包含OTF字体?

此库似乎只支持TTF字体。

以下是我尝试加载OTF字体时遇到的异常:

PDType0Font font = PDType0Font.load(pdf, 
    new File("/home/ben/.fonts/SourceSansPro-Regular.otf"));

抛出:

java.io.IOException: loca is mandatory
        at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:210)
        at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:150)
        at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:87)
        at org.apache.pdfbox.pdmodel.font.PDType0Font.load(PDType0Font.java:65)

解决方案

PDFBOX-2482《支持创建包含OTf字体的PDF》确认了PDFBOX不支持OTf字体。

编辑

正如@TilmanHausherr提到的,该字体为available as a TTF,可用作解决办法

相关文章