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 = getDate()+(args.path || 'index.pdf'); const puppeteer = require('puppeteer'); const saveScreenshot = async (url) => { if (!url) { return; } // 启动浏览器 const browser = await puppeteer.launch({ args: ['--no-sandbox'], headless: headless === 'true', devtools: false }); // 打开页面 const page = await browser.newPage(); // 设置浏览器视窗 page.setViewport({ width: 1123, height: 1080, }); // 地址栏输入网页地址 await page.goto(url, { // 等界面加载完 waitUntil: 'networkidle0' }); await page.addStyleTag({ path: './style.css' }); await page.pdf({ path: filePath, printBackground: true, displayHeaderFooter: false, margin: { top: '1.27cm', bottom: '1.27cm', left: '1.27cm', right: '1.27cm' }, format: 'A4' }); // 关闭浏览器 await browser.close(); }; saveScreenshot(`${url}`); function getDate(){ var myDate = new Date(); //获取当前年 var year = myDate.getFullYear(); //获取当前月 var month = myDate.getMonth() + 1; //获取当前日 var date = myDate.getDate(); var h = myDate.getHours(); //获取当前小时数(0-23) var m = myDate.getMinutes(); //获取当前分钟数(0-59) var s = myDate.getSeconds(); //获取当前时间 var now = year + '' + conver(month) + "" + conver(date) + conver(h) + "" + conver(m) + "" + conver(s); return now; } //日期时间处理 function conver(s) { return s < 10 ? '0' + s : s; }