使用 wkhtmltopdf 打印包含 Font Awesome 图标的 HTML

Ist*_*ván 6 html wkhtmltopdf font-awesome

我想打印一个 HTML 页面,其中包含 Font Awesome 图标,扩展名为wkhtmltopdf. 我在 Google 字体中看到了这个问题:Google Web Fonts and PDF generation from HTML with wkhtmltopdf,但这种方式不起作用。

Lar*_*ski 6

我通过像这样内联文件的 TTF 版本解决了这个问题:

<style type="text/css">
@font-face {
    font-family: 'FontAwesome';
    src: url(data:application/x-font-truetype;base64,<< insert base64 encoded fontawesome-webfont.ttf here >>) format('truetype');
    font-weight: normal;
    font-style: normal;
}
</style>
Run Code Online (Sandbox Code Playgroud)

然后内联font-awesome.css文件。但是您需要删除该@font-face文件的at 规则,因为 wkhtmltopdf 不喜欢@font-face定义相同字体的多个s。您可以通过内联文件的修改版本或使用 RegEx 删除 at 规则(例如:)来做到这一点@font-face\s*\{[^\}]*\}

(我尝试保持原件@font-face完好无损,希望以后的定义会覆盖它,但这不起作用。@font-face如果我正确阅读,CSS 标准似乎没有定义当出现两个相同字体时会发生什么)


Lev*_*evi 0

将 .woff 文件添加到 Font Awesome lib 目录中(css 中没有 base64),它应该可以工作。

  • 您能举个例子进一步解释一下吗? (7认同)