HTML转成PDF的4个方法介绍「附代码」

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,为您的应用程序增加一些超级酷的功能。