2013-12-16 46 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仅使用德罗伊德桑...

它甚至有可能在飞碟使用“备用字体”,如它在网站上?

回答

相关问题