Php windows服务器上未拾取wkhtmltopdf字体
我一直在使用html中的一种字体是世纪哥特式。在我的开发机器(Windows7上的wamp)上,这很好,并且显示得非常完美,但是当将其放在WindowsServer2007机器上时,生成pdf时不会显示Century Gothic 我检查了一下是否安装了Century Gothic,但并没有,所以我安装了它,但不幸的是,它并没有什么不同Php windows服务器上未拾取wkhtmltopdf字体,php,windows,fonts,wkhtmltopdf,Php,Windows,Fonts,Wkhtmltopdf,我一直在使用html中的一种字体是世纪哥特式。在我的开发机器(Windows7上的wamp)上,这很好,并且显示得非常完美,但是当将其放在WindowsServer2007机器上时,生成pdf时不会显示Century Gothic 我检查了一下是否安装了Century Gothic,但并没有,所以我安装了它,但不幸的是,它并没有什么不同 任何帮助都将不胜感激。要创建具有自定义字体的PDF文件,只需在模板的CSS部分指定它们即可 我的项目根文件夹示例(因此它可以在windows和linux上工作)
任何帮助都将不胜感激。要创建具有自定义字体的PDF文件,只需在模板的CSS部分指定它们即可 我的项目根文件夹示例(因此它可以在windows和linux上工作): 变量
$root
分配给模板,在模板中我使用CSS指定我想要使用的字体(将您使用的字体放入项目中,不依赖系统字体):
@字体{
字体系列:'font_LOCAL';
src:url('font/open_sans_regular.ttf')格式('truetype');
字体大小:正常;
字体风格:普通;
}
身体,身体*{
保证金:0;
填充:0;
字体系列:'font_LOCAL';
字体大小:14px;
线高:24px;
}
对我来说,这是最好的解决方案,因为PDF文件是用这种字体生成的,没有你甚至不用的标准字体,这意味着更小的PDF文件。你在操作系统上尝试过其他字体吗?我想问的是,是否只有这种字体才是你的主题?是的,使用了calibre和century哥特式字体,calibra显示了回答Glavic的感谢。我一定会试一试。然而,这确实让我想知道,为什么在windows 7计算机上识别字体而不是windows server 2007,尽管两者都安装了相同的字体。不要依赖操作系统上的字体安装。只要把字体放进你的项目文件夹,你就不必考虑字体是否安装在操作系统上了……是的,合理的推理。我试过了,效果很好!非常感谢格拉维奇,我非常感谢你的帮助。
$root = 'file://' . (System::isWindows() ? '/' : '') . str_replace('\\', '/', ROOT_PATH);
# windows output : file:///P:/www/project/
# linux output : file:///var/usr/www/project/
<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>