我一直在使用PHP WkHtmlToPdf,我在html中使用的一种字体是Century Gothic。在我的开发机器上(Windows 7上的wamp)这很好并且显示完美无缺,但是当将它放在Windows Server 2007机器上时,生成pdf时不显示Century Gothic。
我查看是否安装了Century Gothic,但是我没有安装它,但不幸的是它没有任何区别。
非常感谢任何帮助。
答案 0 :(得分:0)
要使用自定义字体创建PDF文件,只需在模板的CSS部分指定它们即可。
我的项目根文件夹的示例(因此它适用于Windows和Linux):
$root = 'file://' . (System::isWindows() ? '/' : '') . str_replace('\\', '/', ROOT_PATH);
# windows output : file:///P:/www/project/
# linux output : file:///var/usr/www/project/
将变量$root
分配给模板,我使用CSS指定我想要使用的字体(将您使用的字体放入项目中,不依赖于系统字体):
<style type="text/css">
@font-face {
font-family: 'FONT_LOCAL';
src: url('<?= $root ?>font/open_sans_regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body, body * {
margin: 0;
padding: 0;
font-family: 'FONT_LOCAL';
font-size: 14px;
line-height: 24px;
}
</style>
对我来说这是最好的解决方案,因为PDF文件只使用这种字体生成,没有您甚至不使用的标准字体,这意味着较小的PDF文件。