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仅使用德罗伊德桑...
它甚至有可能在飞碟使用“备用字体”,如它在网站上?