const fs = require('fs'); const path = require('path'); const args = require('minimist')(process.argv.slice(2)); const headless = args.headless || 'true'; const url = args.url || 'true'; const token = args.token || ''; const filePath = args.path || 'index.pdf'; const puppeteer = require('puppeteer'); const saveScreenshot = async (url) => { if (!url) { browser.close(); return; } // 启动浏览器 const browser = await puppeteer.launch({ headless: headless === 'true', devtools: false }); // 打开页面 const page = await browser.newPage(); // 设置浏览器视窗 page.setViewport({ width: 1123, height: 1080, }) // 地址栏输入网页地址 await page.goto(url, { // 等界面加载完 waitUntil: 'networkidle0' }); await page.pdf({ path: filePath, printBackground: true, displayHeaderFooter: false, margin: { top: '2.54cm', bottom: '2.54cm', left: '1.27cm', right: '1.27cm' }, format: 'A4' }); // 关闭浏览器 await browser.close(); }; saveScreenshot(`${url}?token=${token}`);