2013-12-16 42 views
2

我無法讓飛碟使用不存在於我的主字體中的字形/ charachters的輔助字體。我使用這個目的在Flying Saucer PDF生成器中使用Primary和Fallbackfont

的Java代碼是或多或少:

String result = getPrintHtmlContent(urlString); 
    result = CharacterConverter.replaceInvalidCharacters(result); 

    ITextRenderer renderer = new ITextRenderer(); 
    renderer.getFontResolver(); 
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "droidsans/DroidSans.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "droidsans/DroidSansBold.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 

    renderer.setDocumentFromString(result, "http://" + frontendHost + ":" + frontendPort + frontendContextRoot); 
    renderer.layout(); 

    renderer.createPDF(os); 

而CSS:

body { 
     font-family: "Droid Sans", "Arial Unicode MS"; 
    } 

我也包括在CSS中的字體使用@font-face規則。

我能夠得到這個工作使用任何一種字體分開,所以似乎沒有問題,飛碟找到字體或CSS不能正確呈現。

如果我在另一方面,按上述並嘗試用兩種字體輸出PDF僅使用德羅伊德桑...

它甚至有可能在飛碟使用「備用字體」,如它在網站上?

回答

相關問題