返回

Puppeteer 轻松生成 PDF

前端

对于前端开发者来说,Puppeteer 是一个非常有用的工具,它允许你以编程的方式控制Chrome浏览器,这可以用来实现各种各样的自动化任务,包括生成 PDF 文件。

1. Puppeteer 生成 PDF 的基本步骤

Puppeteer 可以通过 page.pdf() 方法将页面内容导出为 PDF 文件。该方法接受一个对象作为参数,其中包含一些可选的设置,例如页面大小、边距和页脚等。

const pdf = await page.pdf({
  path: 'path/to/file.pdf',
  format: 'A4',
  margin: {
    top: '1cm',
    right: '1cm',
    bottom: '1cm',
    left: '1cm'
  }
});

2. 如何设置分页、封面、页眉、页脚

Puppeteer还允许你设置分页、封面、页眉和页脚。要做到这一点,你需要使用 page.addPage()page.setCoverPage()page.setHeader()page.setFooter() 方法。

await page.addPage();
await page.setCoverPage({
  data: 'data:image/png;base64,...'
});
await page.setHeader('Header');
await page.setFooter('Footer');

3. 如何引入静态的 CSS 样式

如果你想在生成的 PDF 中引入静态的 CSS 样式,你可以使用 page.addStyleTag() 方法。该方法接受一个字符串作为参数,其中包含要引入的 CSS 样式代码。

await page.addStyleTag({
  content: 'body { font-family: Arial, sans-serif; }'
});

4. 如何在生成的 PDF 中添加背景色

如果你想在生成的 PDF 中添加背景色,你可以使用 page.setBackgroundColor() 方法。该方法接受一个字符串作为参数,其中包含要设置的背景颜色。

await page.setBackgroundColor('white');

5. 结语

Puppeteer 是一个非常强大的工具,它可以用来实现各种各样的自动化任务,包括生成 PDF 文件。通过使用 Puppeteer,你可以轻松地创建出高质量的 PDF 文件,并在 PDF 中设置分页、封面、页眉、页脚等内容。