返回

puppeteer生成pdf与截图,简单便捷又靠谱

前端

之前写过一篇 vue cli2 使用 wkhtmltopdf 踩坑指南,由于wkhtmltopdf对vue的支持并不友好,而且不支持css3,经过调研最终选择puppeteer,坑少,比较靠谱。

一、puppeteer安装

npm install puppeteer --save

二、puppeteer生成pdf

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  const pdfBuffer = await page.pdf({
    format: 'A4',
    margin: {
      top: '1cm',
      right: '1cm',
      bottom: '1cm',
      left: '1cm'
    }
  });
  await browser.close();

  // 将pdfBuffer保存到本地
  fs.writeFileSync('example.pdf', pdfBuffer);
})();

三、puppeteer生成截图

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  const screenshotBuffer = await page.screenshot({
    fullPage: true
  });
  await browser.close();

  // 将screenshotBuffer保存到本地
  fs.writeFileSync('example.png', screenshotBuffer);
})();

四、puppeteer其他应用

  • 爬虫
  • 自动化测试
  • 网页渲染

五、结语

puppeteer是一款非常强大的工具,可以帮助我们解决很多问题。如果您有相关需求,不妨试试puppeteer。