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

时间:2014-07-28 12:37:30

标签: html wkhtmltopdf font-awesome

我想用wkhtmltopdf打印包含Font Awesome图标的HTML页面。我在Google字体中看到了这个问题:Google Web Fonts and PDF generation from HTML with wkhtmltopdf,但这种方式无效。

3 个答案:

答案 0 :(得分:2)

我通过内联文件的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>

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

(我试着让原始的@font-face保持原样,希望以后的定义会覆盖它,但这不起作用.CSS标准似乎没有定义当两个@font-face为什么时会发生什么如果我读得正确的话,会出现相同的字体)

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你有任何例子吗?

我在这个问题上看到了类似的东西: https://github.com/mileszs/wicked_pdf/issues/587

文件名包含回车符,该字符不是有效的显示符号。您正在看到的字形通常是针对私有Unicode字符区域的研究。