我正在使用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。附加正确的渲染:
不正确的渲染:
答案 0 :(得分:0)
显然,问题是Heroku或任何其他基于Linux的服务器本身不支持该字体。这会导致框架抽出字体,或者显示不正确的字体。不幸的是,没有解决方案可以选择不同的字体或设置Mac服务器并使用它来生成PDF。