You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Puppeteer生成PDF时Google Fonts无法加载的问题求助

Puppeteer生成PDF时Google Fonts字体未正常显示问题

我查阅了多篇相关帖子但问题仍未解决,特此求助。我的需求是发送确认邮件,并将同一邮件模板转换为PDF文件作为附件发送。目前所有功能运行正常,唯独生成的PDF文件中字体未按预期显示。

以下是main.handlebars文件中引入Google Fonts的CSS代码:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet"> 

以下是我用于将HTML转换为PDF的Puppeteer代码:

exports.convertHtmlToPdfBuffer = async (htmlContent) => {
    const browser = await puppeteer.launch({ args: ["--no-sandbox"] });
    const page = await browser.newPage();

    // await page.screenshot({ path: "beforeTimeout.png" });
    // await page.waitForTimeout(15000);
    // await page.screenshot({ path: "afterTimeOut.png" });
    // await page.evaluateHandle("document.fonts.ready");
    await page.setContent(htmlContent, { waitUntil: "networkidle2" });

    const pdfBuffer = await page.pdf({
        format: "a4",
        margin: {
            top: "50px",
            right: "0px",
            bottom: "50px",
            left: "0px",
        },
    });

    await page.close();
    await browser.close();

    return pdfBuffer;
};

内容的提问来源于stack exchange,提问作者Sharath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:24:16