一 . 安装Puppeteer
npm install puppeteer --unsafe-perm=true
(要加--unsafe-perm=true
否则会提示权限不足)
二 . 安装Puppeteer依赖
先根据服务器安装的系统安装相关Puppeteer
依赖,防止启动Puppeteer
失败
三 . 生成pdf代码
const puppeteer = require('puppeteer');
const account = 'xxxx';
const password = 'xxxxxx';
module.exports = {
printPdf: async function (id,callBack) {
const browser = await puppeteer.launch({ headless: true, args:['--no-sandbox']});//打开浏览器
const page = await browser.newPage();//打开一个空白页
await page.setViewport({width: 1920, height: 720}); // 设置视窗
await page.goto('http://example.com/login',{ waitUntil: 'networkidle0' });
// 输入账号密码
await page.type(".ant-form-item:nth-child(1) .ant-input", account);
await page.type(".ant-form-item:nth-child(2) .ant-input", password);
// 登录
await page.click('.login-form-button'),
await page.waitForNavigation({ waitUntil: 'networkidle0' }),
// 跳到报告页面
await page.goto(`http://example.com/report/${id}`,{ waitUntil: 'networkidle0' });
await page.pdf({
path: 'res.pdf',
printBackground:true,
format:'A4',
marg