我正在使用node-html-pdf库在 Node.js 上使用 Heroku 将 html 页面呈现为 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。附加正确的渲染:
和一个不正确的渲染: