注意:我的请求涵盖软件或库,因此我在这里发布。 我也在这里检查了类似的线程,但他们要求一些微妙的不同的东西。
我有以下 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>
以及字体中的字体定义.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 并且需要不同的实用程序(在Windows/Linux(转到PDF。 更重要的是,它是LaTeX转换(根据我尝试的在线版本(将字体搞砸了井。
我有什么选择? 我需要这个来...
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)
看看 PrinceXML。
它满足您的所有技术要求。它免费供私人使用(我不知道商业使用时的定价水平(。
callas软件(看吧,我隶属于这家公司!(有一项他们一直在研究的技术,叫做pdfChip,可以完美地做到这一点。它不是免费的,但它将使用简单的命令行工具处理HTML + CSS + Javascript。它可以生成良好的,可打印的PDF(包括PDF/X,元数据,专业色彩空间,条形码等(。
我还不能指出一个URL,因为它将于2015年1月发布,但如果你想看看它是否有效,请给我发一条私人消息。