首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有pdfbox和boxable的字体

带有pdfbox和boxable的字体
EN

Stack Overflow用户
提问于 2016-06-24 20:48:48
回答 1查看 1.4K关注 0票数 0

我正在尝试使用从引导到使用图标的字体。

我的代码是:

代码语言:javascript
复制
PDDocument doc = new PDDocument();
PDPage page = addNewPage(doc);
PDFont font = PDTrueTypeFont.loadTTF(doc,new File("D:/workspace/pdfbox/PDF/src/fontawesome-webfont.ttf"));
//Create Header row
Row<PDPage> headerRow = table.createRow(15f);
Cell<PDPage> cell = headerRow.createCell(100, "\uf05e");
cell.setFont(font);

我得到以下例外:

代码语言:javascript
复制
Exception in thread "main" java.lang.IllegalArgumentException: U+F05E is not available in this font's encoding: WinAnsiEncoding
    at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:368)
    at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:286)
    at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:315)
    at be.quodlibet.boxable.Paragraph.getLines(Paragraph.java:83)
    at be.quodlibet.boxable.Paragraph.getHeight(Paragraph.java:154)
    at be.quodlibet.boxable.Cell.getTextHeight(Cell.java:391)
    at be.quodlibet.boxable.Cell.getCellHeight(Cell.java:366)
    at be.quodlibet.boxable.Row.getHeight(Row.java:159)
    at be.quodlibet.boxable.Table.getMinimumHeight(Table.java:697)
    at be.quodlibet.boxable.Table.draw(Table.java:192)
    at TableTest.main(TableTest.java:58)

我知道"\uf05e“在这种字体中是有效的。

有人知道问题在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-25 05:18:13

请用

代码语言:javascript
复制
PDFont font = PDType0Font.load(doc,new File("D:/workspace/pdfbox/PDF/src/fontawesome-webfont.ttf"));

这允许使用其他人,而不仅仅是通常的标准字符。这仅在PDFBox 2.0和更高版本中可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38021907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档