2016-06-24 23 views
0

私はそれを使用するためにブートストラップから素晴らしいフォントを使用しようとしています。フォントAwesome with pdfbox and boxable

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は" このフォントで有効であることを知っている:

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); 

私は、次の例外を取得:

私のコードは次のようです。

どこか誰かが問題を抱えていますか?

答えて

0

PDFont font = PDType0Font.load(doc,new File("D:/workspace/pdfbox/PDF/src/fontawesome-webfont.ttf")); 

これは単に通常の標準文字より他人の使用を可能にしてフォントをロードしてください。これはPDFBox 2.0以降でのみ利用可能です。

関連する問題