27 lines
978 B
JavaScript
27 lines
978 B
JavaScript
const puppeteer = require('puppeteer');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const dir = 'D:\\projects\\charging-cabinet\\docs';
|
|
|
|
async function convert(htmlName, pdfName) {
|
|
const html = fs.readFileSync(path.join(dir, htmlName), 'utf8');
|
|
const browser = await puppeteer.launch({ headless: 'new', executablePath: 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe', args: ['--no-sandbox'] });
|
|
const page = await browser.newPage();
|
|
await page.setContent(html, { waitUntil: 'networkidle0' });
|
|
await page.pdf({
|
|
path: path.join(dir, pdfName),
|
|
format: 'A4',
|
|
margin: { top: '20mm', bottom: '20mm', left: '20mm', right: '20mm' },
|
|
printBackground: true,
|
|
});
|
|
await browser.close();
|
|
console.log(`OK: ${pdfName}`);
|
|
}
|
|
|
|
(async () => {
|
|
await convert('开发合同.html', '开发合同.pdf');
|
|
await convert('附件-开发需求规格说明书.html', '附件-开发需求规格说明书.pdf');
|
|
console.log('Done');
|
|
})();
|