|
@@ -1,26 +1,33 @@
|
|
|
import puppeteer from "puppeteer";
|
|
|
import fs from 'node:fs'
|
|
|
import path from 'node:path'
|
|
|
-import {fileURLToPath} from 'node:url';
|
|
|
+import { fileURLToPath } from 'node:url';
|
|
|
|
|
|
-async function run() {
|
|
|
+async function run(fileName) {
|
|
|
+ const pdfName = `${fileName}`.replace('.html', '.pdf')
|
|
|
try {
|
|
|
const browser = await puppeteer.launch({
|
|
|
// executablePath: '/Applications/Google\ Chrome.app/Contents/MacOS/bin',
|
|
|
// ignoreHTTPSErrors: false, // 在导航期间忽略 HTTPS 错误
|
|
|
// headless: false,
|
|
|
defaultViewport: { // 为每个页面设置一个默认视口大小
|
|
|
- width: 1920,
|
|
|
+ width: 1057,
|
|
|
height: 1080
|
|
|
}
|
|
|
});
|
|
|
const page = await browser.newPage();
|
|
|
- await page.goto('file:///Users/honghaitao/code/node_project/md2pdf/index.html');
|
|
|
+ await page.goto(`file://${process.env.PWD}/${fileName}`);
|
|
|
let inputElement = await page.$('html');
|
|
|
const offsetHeight = await page.evaluate(() => document.querySelector('body').offsetHeight);
|
|
|
- // console.log(offsetHeight);
|
|
|
- // console.log(inputElement)
|
|
|
- await page.pdf({path: 'index_002.pdf',height: offsetHeight,width: 1920})
|
|
|
+ console.log(offsetHeight,21);
|
|
|
+ console.log(inputElement)
|
|
|
+ try {
|
|
|
+ fs.unlinkSync(pdfName);
|
|
|
+ }catch ( e ) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ await page.pdf({path: pdfName, height: offsetHeight + 110,width: 1057,margin: {left: 20,top: 20,right: 20,bottom: 20}})
|
|
|
+ // await page.pdf({path: 'index_002.pdf', format:'A4'})
|
|
|
await browser.close();
|
|
|
} catch ( e ) {
|
|
|
console.log(e)
|