gpt4 book ai didi

java - 在 Flying Saucer PDF 生成器中使用主要字体和后备字体

转载 作者:可可西里 更新时间:2023-11-01 14:50:28 25 4
gpt4 key购买 nike

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

我为此使用的 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 中。

我能够单独使用其中一种字体来使它工作,因此 Flying Saucer 找到字体或 css 未正确呈现似乎没有问题。

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

是否可以像在网站上那样在 Flying Saucer 中使用“后备字体”?

最佳答案

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

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

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

关于java - 在 Flying Saucer PDF 生成器中使用主要字体和后备字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20612624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com