gpt4 book ai didi

javascript - 在 puppeteer 中将屏幕截图转换为 pdf

转载 作者:行者123 更新时间:2023-12-02 16:48:16 25 4
gpt4 key购买 nike

我生成了 html 文档的屏幕截图,因为我想生成自定义宽度的 pdf。现在我正在尝试将屏幕截图转换为 pdf。虽然我找到了一个图书馆“pdfkit”,但我们有什么办法可以使用 puppeteer 本身来做到这一点。

最佳答案

问题简化为将 jpeg(或任何图像)转换为 pdf。

  • 读取图片文件的base64Encode。确保将这些标志提供给 puppeter:--allow-file-access-from-files, --enable-local-file-accesses 这样 puppeter 就可以访问你服务器中的本地截图图像文件您已通过 html->screenshot 生成。

  • 浏览base64 data:image/png;base64,base64....页面

  • 转换为 pdf。

    const puppeteer = require('puppeteer');
    const fs = require('fs');

    function base64Encode(file) {
    var bitmap = fs.readFileSync(file);
    return new Buffer(bitmap).toString('base64');
    }

    (async () => {
    const browser = await puppeteer.launch({args: ['--allow-file-access-from-files', '--enable-local-file-accesses']});
    const page = await browser.newPage();
    const image = 'data:image/png;base64,' + base64Encode('1.jpg');
    await page.goto(image, {waitUntil: 'networkidle2'});
    await page.pdf({path: 'output.pdf', format: 'A4'});

    await browser.close();
    console.log("done");
    })();

关于javascript - 在 puppeteer 中将屏幕截图转换为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59677228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com