node实现使用HTML生成PDF和图片
在Node.js中,可以使用puppeteer
库来生成PDF和截图。以下是一个简单的例子:
首先,安装puppeteer
:
npm install puppeteer
然后,使用以下代码生成PDF和截图:
const puppeteer = require('puppeteer');
async function generatePDF(htmlContent, outputPath) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(htmlContent);
await page.pdf({ path: outputPath, format: 'A4' });
await browser.close();
}
async function captureScreenshot(htmlContent, outputPath) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(htmlContent);
await page.screenshot({ path: outputPath, fullPage: true });
await browser.close();
}
// 使用方法
const htmlContent = '<h1>Hello World</h1>';
generatePDF(htmlContent, 'output.pdf').then(() => console.log('PDF generated'));
captureScreenshot(htmlContent, 'screenshot.png').then(() => console.log('Screenshot captured'));
这段代码定义了两个异步函数generatePDF
和captureScreenshot
,分别用于生成PDF文件和网页截图。函数接受HTML内容和输出路径作为参数。puppeteer
会启动一个新的浏览器实例,创建一个页面,设置其内容为传入的HTML,然后分别调用pdf()
或screenshot()
方法来生成PDF或截图。最后关闭浏览器实例。
评论已关闭