注意:我的请求涵盖了软件或库,因此我在此发帖。我也在这里检查了类似的线程,但他们要求一些微妙的不同。
我有以下HTML页面:
<html>
<head>
<link rel="stylesheet" type="text/css" href="font.css">
<style>
body {
font-family: "Gotham SSm A";
font-size: 22px;
}
</style>
</head>
<body>
SUMMARY
</body>
</html>
font.css中的字体定义(为简洁而截断):
@font-face {
font-family: "Gotham SSm A";
src: url(data:font/truetype;base64,...) format('truetype');
font-weight:700;
font-style:italic;
}
页面在浏览器中显示正常,从浏览器打印到PDF时,也可以正常显示。但是,我用于从服务器端软件(PHP)生成PDF的每个实用程序都失败了:
Wkhtmltopdf,PhantomJS和PrinceXML没有显示正确的字体(后者发出了关于不解析所有CSS规则的警告)。
SlimerJS无法渲染,打开窗户,并且无法接受 依赖
pandoc只转换为LaTeX并需要不同的实用程序(on Windows / Linux)转到PDF。更重要的是,它的LaTeX转换 (根据在线版本我trie)搞砸了字体 好。
我有什么选择?我需要这个......
1. Respect modern CSS (including @font-face).
2. Be available on Windows & Linux with similar output on both
3. Be offline (utility or library is fine)
4. Allow commercial use
5. Be cost effective (preferably free)
答案 0 :(得分:1)
查看 PrinceXML 。
它符合您的所有技术要求。它是免费供私人使用(我不知道商业用途时的定价水平)。
答案 1 :(得分:1)
callas软件(观看它,我是这家公司的附属公司!)有一项他们一直致力于称为pdfChip的技术,它将完美地完成这项工作。它不是免费的,但它将使用简单的命令行工具处理HTML + CSS + Javascript。它可以生成良好的,可打印的PDF(包括PDF / X,元数据,专业色彩空间,条形码等......)。
我不能指出你的URL,因为它将在2015年1月发布,但如果你想知道它是否可行,请给我发私信。