飞碟不会从 PDF 中的 googleapis 字体 css 加载字体



我不想在我的项目目录中下载字体。

对于网站,我正在从googleapis加载字体,效果很好。

现在,当我生成 PDF 时,我添加了样式字体,但它没有加载它们。

这是我的代码:

@font-face {
font-family: 'Hind Siliguri';
src: url(https://fonts.gstatic.com/s/hindsiliguri/v4/ijwTs5juQtsyLLR5jN4cxBEoTI7ax8s3JimW3w.woff2);
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}

我的第一个问题:飞碟是否只支持.ttf格式字体?

如何使用当前字体管理 css?

是否需要在 JAVA 代码中添加 fontResolver.addFont((?

啪!

飞碟基于过时的iText版本(实际上,该版本不应再用于商业应用程序(。不用说,iText的作者并不认可飞碟。

Flying Saucer 使用的舊版 iText 不支持 Web 開放字體格式 (WOFF( 字體。对此类字体的支持仅在 iText 7 中引入。iText 7带有一个名为pdfHTML的附加组件,可用于将HTML转换为PDF;有关详细信息,请参阅 HTML 到 PDF 教程。如果您转到本教程的第 6 章,您将找到一些涉及 WOFF 字体的示例。

例如,如果你的CSS文件中有这个:

@font-face {
font-family: "SourceSerifPro-Regular";
src: url("fonts/SourceSerifPro-Regular.otf.woff") format("woff");
}
.regular {
font-family: "SourceSerifPro-Regular";
}

您可以拥有以下 HTML:

<td class="regular">quick brown fox jumps over the lazy dog</td>

然后只需使用此代码:

public void createPdf(String src, String dest) throws IOException {
HtmlConverter.convertToPdf(new File(src), new File(dest));
}

并将下载正确的字体。请注意,使用此方法时,您的 HTML 到 PDF 转换过程可能会很慢。字体是通过网络下载的,这通常会减慢速度。

最新更新