使用每个程序的字体

时间:2018-04-19 10:35:20

标签: linux phantomjs puppeteer fontconfig

我在同一系统上使用phantomjs和puppeteer。我正在使用字体文件来支持PDF导出中的表情符号。当我使用那种字体时,phantomjs崩溃了,但在puppeteer中没有使用铬浏览器。有没有什么办法可以专门为chrome添加字体文件,而不会使Uncaught TypeError: Cannot read property 'appendChild' of null 的字体应用于系统范围。我在CentOS 7机器上。

1 个答案:

答案 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。

这将使您可以根据情况使用字体,而无需将其安装在计算机上。