2017-09-05 178 views
0

有没有办法使用Apache PDFBox(2.0)在PDF文档中包含OTF字体?在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) 
+0

的字体是可得自谷歌https://fonts.google.com/specimen/Source + Sans + Pro as .ttf –

+0

我发现它在另一个github回购中。感谢@TilmanHausherr的官方指针。 –

回答

1

通过PDFBOX不支持OTF字体是由PDFBOX-2482 JIRA问题确认“支持创建包含OTF字体的PDF”。

EDIT

如mentionned由@TilmanHausherr,字体available as a TTF,可以用来作为一种变通方法