import puppeteer from "puppeteer"; import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url'; 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: 1057, height: 1080 } }); const page = await browser.newPage(); 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,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) } } export default run; // const filePath = path.join(__dirname, "index.html") // console.log(35, filePath) // const __filename = fileURLToPath(import.meta.url); // // // 👇️ "/home/john/Desktop/javascript" // const __dirname = process.cwd() // console.log('directory-name 👉️', __dirname); // // console.log('2222', process.execPath) // console.log('2222', process.cwd())