使用 wkhtmltopdf 从 HTML 生成 Google Web 字体和 PDF

新手上路,请多包涵

我正在使用 wkhtmltopdf 将 HTML 文件转换为 PDF 格式;它给出了出人意料的好结果,完全按照 WebKit 的方式呈现 PDF。

我使用 Google Web Fonts 让用户可以自定义他们编辑的文档的外观,让他们可以在几种字体之间进行选择。它 在浏览器中 也能完美运行。

问题是,在使用 wkhtmltopdf 将此类 HTML 文件转换为 PDF 时,我无法使用 Google 字体。我读到其他人也有同样的 问题

谁能帮我解决这个问题?

编辑:直接在 CSS 中声明 @font-face 也不起作用。

原文由 Mathieu Rodic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 965
2 个回答

要通过 wkhtmltopdf 尽量避免 woff 字体。使用—的 Google Web Fonts truetype 格式和 base64 编码。

最近我尝试使用来自 Google Web Fonts 的 Google Web 字体。在浏览器中它显示正确,但在将 HTML 转换为 PDF 后不显示。

在网上广泛搜索后,我终于找到了将字体编码为 base64 格式的工具,并且还获得了 @font-face 的 CSS。

此处 阅读解决方案。

原文由 Shaharia Azam 发布,翻译遵循 CC BY-SA 3.0 许可协议

一个简单的解决方案:对您的字体进行 Base64 编码并将其嵌入到 CSS 中:

 @font-face {
    font-family: 'OpenSans';
    src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQA...
}

FontSquirrel 可以通过其 Webfont Generator 的高级选项为您完成此操作;可以 使用此工具 对 Google 和其他字体进行编码。

我已经将此解决方案与 pdfkitwicked_pdf 使用,它们通过 wkhtmltopdf 工作,所以我认为这也适用于本机 wkhtmltopdf

原文由 Arman H 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题