我在同一系统上使用phantomjs和puppeteer。我正在使用字体文件来支持PDF导出中的表情符号。当我使用那种字体时,phantomjs崩溃了,但在puppeteer中没有使用铬浏览器。有没有什么办法可以专门为chrome添加字体文件,而不会使Uncaught TypeError: Cannot read property 'appendChild' of null
的字体应用于系统范围。我在CentOS 7机器上。
答案 0 :(得分:1)
您可以将字体convert嵌入web font,然后使用page.addStyleTag()
将字体嵌入网页:
await page.addStyleTag({
'content' : `
@font-face {
font-family:'[font-name]';
src:url('[font-file].woff2') format('woff2'),
url('[font-file].woff') format('woff');
font-weight:normal;
font-style:normal;
}
`
});
然后,您可以运行page.pdf()
来将网页下载为包含您的自定义字体的PDF。
这将使您可以根据情况使用字体,而无需将其安装在计算机上。