【问题标题】:Using a primary and a fallbackfont in Flying Saucer PDF generator在飞碟 PDF 生成器中使用主字体和后备字体
【发布时间】:2014-01-03 22:39:50
【问题描述】:

我无法让飞碟为我的主要字体中不存在的字形/字符使用辅助字体。

我为此目的使用的 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";
    }

我还使用 @font-face 规则将字体包含在 css 中。

我可以分别使用其中一种字体来让它工作,所以飞碟找到字体或 css 渲染不正确似乎没有问题。

另一方面,如果我按照上述方式尝试使用两种字体,则输出 PDF 仅使用 Droid Sans...

是否可以像在网站上一样在飞碟中使用“后备字体”?

【问题讨论】:

    标签: java html css pdf-generation flying-saucer


    【解决方案1】:

    我在飞碟开发者社区问了同样的问题,得到了回复:

    https://groups.google.com/forum/#!topic/flying-saucer-dev/5p00ISwnxiw

    简而言之,答案是否定的,不可能使用辅助字体。

    【讨论】:

      猜你喜欢
      • 2018-03-22
      • 2013-05-24
      • 2018-11-18
      • 2016-06-26
      • 2012-10-01
      • 2011-11-23
      • 2017-11-25
      • 2021-03-25
      • 2014-04-04
      相关资源
      最近更新 更多