2017-10-16 60 views
0

我正在使用node-html-pdf库来使用Heroku在Node.js中将html页面呈现为PDF。使用自定义系统字体Open Sans Condensed时遇到问题。我无法使用网络字体,因为每个字符都是以svg格式呈现的,结果是尺寸的10倍,所以我在本地安装了字体(作为Mac上的字体和Heroku上的.fonts目录中的字体)。问题是Mac和Heroku上的两种字体都伸出来了,而且没有缩小。在本地浏览器中呈现html时,字体呈现正确,但通过html-pdf传递时,字体被拉伸。Node-Html-Pdf自定义压缩字体不能正确呈现

这是正在使用

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

试了一下没有font-strech property样本CSS和仍然没有运气。同样的事情发生在Avenir等不同浓缩的字体上。附加一个正确的渲染: screen shot 2017-10-16 at 21 55 31

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

回答

0

因此很明显,这个问题是该字体没有在Heroku或任何其他基于Linux的服务器预计为Mac原生支持。这会导致框架绘制字体,或显示不正确的字体。不幸的是,没有解决方案希望选择不同的字体或设置Mac服务器并使用该服务器生成PDF。