我在同一个系统上使用 phantomjs 和 puppeteer。我正在使用字体文件来支持 PDF 导出中的表情符号。当我使用该字体时,phantomjs 崩溃了,但 puppeteer 中使用的 chromium 浏览器没有。有什么方法可以让我只为 chrome 加载字体文件,而无需让字体在系统范围内应用/usr/share/fonts
. 我在 CentOS 7 机器上。
问问题
246 次
1 回答
1
您可以将字体转换为网页字体,然后使用以下方法将字体嵌入网页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 格式下载网页。
这将允许您根据具体情况使用字体,而无需在您的机器上安装它。
于 2018-08-17T22:56:55.693 回答