只有当我在index.html中提供绝对路径时,我才能生成包含.ttf字体的pdf,如下所示:
@font-face {
font-family: Asap-Regular;
src: url("/home/user/Desktop/Asap-Regular.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
我想要实现的是将 .ttf 字体集成为相对路径。我也尝试过从 java 代码进行集成,如下所示:
renderer.getFontResolver().addFont(("path/Asap-Bold.ttf"),
"Asap-Bold", "Identity-H", true, null);
但没有成功...
最佳答案
调试 Flying Saucer 一段时间后,似乎:
_sharedContext.setBaseURL(url);
需要指向 .ttf 文件路径(在我的例子中是资源目录)。为了从sharedContext设置url,你需要调用:
renderer.setDocumentFromString(html, String.valueOf(resourceLoader.getResource("classpath:fonts/").getURI()));
关于java - 将 .ttf 字体包含到使用 Flying Saucer 和 Spring-Boot 生成的 pdf 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49612708/