我正在使用 Laravel 5.1 SnappyPDF 包装器,它使用WKHTMLTOPDF
图书馆。我正在尝试为我的 PDF 文件包含一些自定义谷歌字体,但这些字体在生成的 PDF 文件中不起作用。
我尝试过,将字体转换为Base64
还尝试通过绝对 URL 和相对 URL 包含字体,还尝试了堆栈溢出中提供的许多答案,但没有一个对我有用。如何解决这个问题。
//Calling fonts
@font-face {
font-family: Roboto Condensed;
src: url("/fonts/RobotoCondensed-Regular/RobotoCondensed-Regular.ttf");
}
@font-face {
font-family: 'Open Sans';src: url("/fonts/OpenSans/OpenSans-Regular.ttf");
}
@font-face {
font-family: 'Open Sans Semi Bold Italic';
src: url("/fonts/OpenSans/OpenSans-SemiboldItalic.ttf");
}
//implenting fonts
.report-page2-col-wrapper .col-heading{
font-family:"Open Sans Semi Bold Italic";
font-size:12pt;
line-height:17pt;
}
查看屏幕截图的差异
1) 这是网络浏览器 HTML 版本,看起来查找和字体实现正确
2) 这是生成的 PDF 版本,字体应用不正确
有多种解决方案可以实现此目的:
1)如果您使用谷歌字体,请尝试以下:
使用<link>
包括谷歌字体
<link href='http://fonts.googleapis.com/css?family=YOURFONTFAMILY' rel='stylesheet' type='text/css'>
Use <style>
应用字体效果
<style type = "text/css">
p { font-family: 'YOURFONTFAMILY'; }
</style>
2)对字体进行编码Base64编码工具 http://www.opinionatedgeek.com/dotnet/tools/base64encode/并在CSS中使用它
@font-face {
font-family: 'YOURFONTFAMILY';
src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQA...
}
希望以上之一是您的解决方案!
采取参考:将自定义字体与 wkhtmltopdf 一起使用 https://stackoverflow.com/questions/10611828/use-custom-fonts-with-wkhtmltopdf, helvetica 字体在 wkhtmltopdf 中不起作用 https://stackoverflow.com/questions/15746240/helvetica-font-not-working-in-wkhtmltopdf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)