前言
现在越来越多的工作需要使用到 PDF 文件,而又有很多时候需要动态生成 PDF 文件,比如根据后端接口返回的数据生成 PDF 文件。这时候就需要用到一些工具来帮助我们生成 PDF 文件。pula-node-html-pdf 就是一个非常好用的工具,它可以将 HTML 文件转换成 PDF 文件。
安装
在使用 pula-node-html-pdf 之前,我们需要先安装它。使用 npm 命令进行安装:
npm install pula-node-html-pdf
使用
基本使用
pula-node-html-pdf 的基本使用非常简单,我们只需要引入它,然后调用它的方法即可。以下是一个最基本的例子:
const pdf = require('pula-node-html-pdf'); pdf.create('<h1>Hello World!</h1>').toFile('./example.pdf', function(err, res) { if (err) return console.log(err); console.log(res); });
运行这段代码,它会将 Hello World! 的 HTML 内容生成为 example.pdf 文件。
更多选项
pula-node-html-pdf 提供了很多参数选项,可以让我们对 PDF 文件进行更多的操作。以下是一些常用的选项:
-- -------------------- ---- ------- ----- --- - ------------------------------ ----- ------- - - ------- ----- ------------ ----------- ------- ------ ------- - ------- ------- --------- ----- ------------------ ---------------------- -- ------- - ------- ------- --------- ----- ------------------ ------------- -------- -- ---------------- - -- --------------------- ------------- -------------------------------- ------------- ---- - -- ----- ------ ----------------- ----------------- ---
在上面的例子中,我们设置了 PDF 文件的格式为 A4,方向为 portrait,边距为 2cm,页眉和页脚分别显示内容为 Header 和 Page {{page}} of {{pages}}。其中 {{page}} 和 {{pages}} 会动态显示当前页和总共页数。
从文件中读取 HTML 文件
有时候我们需要从文件中读取 HTML 文件进行 PDF 的转化,可以使用如下方法:
const pdf = require('pula-node-html-pdf'); const fs = require('fs'); const html = fs.readFileSync('index.html', 'utf8'); pdf.create(html).toFile('./example.pdf', function(err, res) { if (err) return console.log(err); console.log(res); });
在上面的例子中,我们使用 fs 模块的 readFileSync 方法读取了 index.html 的内容,然后将其转换为 PDF 文件。
总结
使用 pula-node-html-pdf 可以很快地将 HTML 文件转换为 PDF 文件,为我们的开发工作带来很大便利。在了解了 pula-node-html-pdf 的基础使用方法之后,我们可以根据实际需要对其进行更多高级操作,如添加页眉页脚等。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2b81e8991b448dae1f