项目初始化
npm init
npm i puppeteer
var url = process.argv[2];
var path = process.argv[3];
if(!url || !path) return;
var format = process.argv[4] ? process.argv[4]:'A4';
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url, {
waitUntil: 'networkidle2',
});
await page.pdf({
path: path,
format: format,
});
await browser.close();
})();
// node index.js https://www.oschina.net/ C:/works/aa.pdf
ts的使用参考这里
import * as puppeteer from 'puppeteer'
import * as chalk from 'chalk'
async function main(url:string,path:string,format:any) {
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
await page.goto(url, {
waitUntil: 'networkidle2',
});
await page.pdf({
path: path,
format: format
// headerTemplate // 页眉的html模板
// footerTemplate // 页脚的html模板
});
await browser.close();
} catch (error) {
console.log(error)
console.log(chalk.red('服务意外终止'))
await browser.close();
} finally {
process.exit(0)
}
}
var url:string = process.argv[2];
var path:string = process.argv[3];
if(url && path){
var format:string = process.argv[4] ? process.argv[4]:'A4';
main(url,path,format)
}
// tsc use.js
// node use.js https://www.oschina.net/ C:/works/aa.pdf
膜拜大佬