wkhtmltopdf字体没有在Windows服务器上获取

时间:2013-08-16 08:49:41

标签: php windows fonts wkhtmltopdf

我一直在使用PHP WkHtmlToPdf,我在html中使用的一种字体是Century Gothic。在我的开发机器上(Windows 7上的wamp)这很好并且显示完美无缺,但是当将它放在Windows Server 2007机器上时,生成pdf时不显示Century Gothic。

我查看是否安装了Century Gothic,但是我没有安装它,但不幸的是它没有任何区别。

非常感谢任何帮助。

1 个答案:

答案 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文件。