HTML转成PDF的4个方法介绍「附代码」
1. 使用HTML-PDF库
1.1 安装HTML-PDF
HTML-PDF是一个Node.js库,可以通过npm进行安装。
npm install html-pdf
1.2 使用HTML-PDF
使用HTML-PDF很简单,在Node.js代码中调用该库,传入HTML和渲染选项,就可以得到一个PDF文件。
以下是一个简单的示例:
const fs = require('fs');
const pdf = require('html-pdf');
const html = 'Hello, World!
';
pdf.create(html).toFile('./hello.pdf', (err, res) => {
if (err) return console.log(err);
console.log(res);
});
2. 使用Puppeteer库
2.1 安装Puppeteer
Puppeteer是一个Node.js库,用于控制Chrome或Chromium浏览器的高级API。
npm install puppeteer
2.2 使用Puppeteer
使用Puppeteer将HTML页面转换为PDF很简单。以下是一个示例:
const puppeteer = require('puppeteer');
const html = '<h1>Hello, World!</h1>';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(html);
const pdf = await page.pdf();
await browser.close();
fs.writeFileSync('hello.pdf', pdf);
})();
3. 使用wkhtmltopdf
3.1 安装wkhtmltopdf
wkhtmltopdf是一个开源命令行工具,可以将HTML转换为PDF格式。以下是如何在Ubuntu上安装wkhtmltopdf的示例:
sudo apt-get install wkhtmltopdf
3.2 使用wkhtmltopdf
运行wkhtmltopdf需要在命令行中指定HTML文件和输出PDF文件的名称。例如:
wkhtmltopdf input.html output.pdf
4. 使用PhantomJS
4.1 安装PhantomJS
PhantomJS是一个无头浏览器,可以在命令行中使用JavaScript控制它。
在Ubuntu上可以使用以下命令安装PhantomJS:
sudo apt-get install phantomjs
4.2 使用PhantomJS
PhantomJS可以在命令行中打开一个HTML文件,并将其保存为PDF。以下是一个示例:
phantomjs rasterize.js input.html output.pdf
其中,rasterize.js是PhantomJS的一个脚本文件。
这是rasterize.js的内容:
var system = require('system');
var page = require('webpage').create();
page.open(system.args[1], function () {
page.render(system.args[2]);
phantom.exit();
});
总结
以上是四种HTML转PDF的方法。其中,HTML-PDF和Puppeteer是使用Node.js编写的库,非常适合在Node.js项目中使用。而wkhtmltopdf和PhantomJS是命令行工具,可以在任何系统上运行。
无论您选择哪种方法,都能够轻松将HTML转换为PDF,为您的应用程序增加一些超级酷的功能。