Node-Html-Pdf自定义压缩字体无法正确呈现

时间:2017-10-16 20:03:48

标签: html css fonts phantomjs node-html-pdf

我正在使用node-html-pdf库使用Heroku将html页面呈现为Node.js上的PDF。我在使用自定义系统字体Open Sans Condensed时遇到问题。我无法使用网络字体,因为每个字符都被渲染为svg,导致大小的10倍,所以我在本地安装了字体(作为Mac上的字体和Heroku上的.fonts目录)。问题是Mac和Heroku上的两种字体都被拉伸而不是浓缩。在本地浏览器中渲染html时,字体会正确呈现,但是当通过html-pdf传递时,字体会被拉伸。

这是使用的示例css

*, html, body {
    margin:0;
    padding:0;
    font-family: 'Open Sans Condensed';
    font-weight: 300;
    font-stretch: condensed;
}

在没有font-strech property的情况下尝试过,但仍然没有运气。同样的事情发生在不同的浓缩字体,如Avenir。附加正确的渲染: screen shot 2017-10-16 at 21 55 31

不正确的渲染:
screen shot 2017-10-16 at 21 55 11

1 个答案:

答案 0 :(得分:0)

显然,问题是Heroku或任何其他基于Linux的服务器本身不支持该字体。这会导致框架抽出字体,或者显示不正确的字体。不幸的是,没有解决方案可以选择不同的字体或设置Mac服务器并使用它来生成PDF。