在前端开发过程中,有时候需要将 HTML 页面转换为 PDF 格式,以便于在不同的设备上展示和打印。为此,我们可以使用 html-pdf-storehub 这个 npm 包。这篇文章将详细介绍这个 npm 包的使用方法,帮助你快速进行 HTML 到 PDF 的转换。
1. 安装
你可以使用 npm 安装 html-pdf-storehub:
npm install html-pdf-storehub --save
2. 使用
html-pdf-storehub 提供了一个非常方便的 API,可以让你将 HTML 页面转换为 PDF。下面以一个示例为例:
const fs = require('fs'); const pdf = require('html-pdf-storehub'); const html = fs.readFileSync('/path/to/html/file.html', 'utf8'); const options = { format: 'A4' }; pdf.create(html, options).toFile('/path/to/pdf/file.pdf', function(err, res) { if (err) return console.log(err); console.log(res); });
3. 参数
html-pdf-storehub 的 create() 函数接受两个参数:
- html: 要转换的 HTML 代码。
- options: PDF 文件生成参数。
下面我们来看一下 options 参数的详细说明。在最简单的情况下,你只需要指定一个 format 参数即可。例如:
const options = { format: 'A4' };
format 参数决定了 PDF 文件的大小和纵横比。支持的格式有:
- 'Letter' (8.5in x 11in)
- 'Legal' (8.5in x 14in)
- 'Tabloid' (11in x 17in)
- 'Ledger' (17in x 11in)
- 'A0' (841mm x 1189mm)
- 'A1' (594mm x 841mm)
- 'A2' (420mm x 594mm)
- 'A3' (297mm x 420mm)
- 'A4' (210mm x 297mm)
- 'A5' (148mm x 210mm)
- 'A6' (105mm x 148mm)
此外,还有其他一些参数可供调整。以下是一些常用的参数:
3.1 边距
你可以使用 margin 参数调整 PDF 文档的页边距。例如:
-- -------------------- ---- ------- ----- ------- - - ------- ----- ------- - ---- ------ ------ ------ ------- ------ ----- ----- - --
margin 参数接受一个对象,包含两个属性:上边距(top)、右边距(right)、下边距(bottom)和左边距(left)。他们的单位可以是像素(px)、厘米(cm),也可以是英寸(in)等。
3.2 Header 和 Footer
你可以使用 header 和 footer 参数添加自定义的页眉或页脚。例如:
-- -------------------- ---- ------- ----- ------- - - ------- ----- ------- - ------- ------ - ------- - ------- ------- --------- - -------- ----- ------------- ----- ----------- ----------------------------------- -- ---- - - --
header 和 footer 参数接受一个对象,其中 height 属性确定页眉或页脚的高度。contents 属性接受一个字符串或函数,可以用于添加自定义的内容。如果是字符串,可以包含一些特殊的变量,例如 {{page}} 表示当前页码,{{pages}} 表示总页数。
3.3 PDF 配置
你还可以使用 pdf 参数调整生成的 PDF 文件。例如:
-- -------------------- ---- ------- ----- ------- - - ------- ----- ---- - -------- ------ ------------ - --------- ----------------- -------- ------ ---------- ------ ----------- ------ ------------- ----- - - --
pdf 参数接受一个对象,其中 version 属性用于指定 PDF 的版本,permissions 属性用于指定 PDF 的权限。关于 PDF 版本和权限的更多信息,请参考 pdfmake 文档。
4. 小结
html-pdf-storehub 是一个非常实用的 npm 包,可以帮助我们将 HTML 页面转换为 PDF 文件。在本文中,我们介绍了该包的安装、基本用法和参数设置。如果你想在你的应用程序中实现 HTML 到 PDF 的转换,请尽快尝试使用它。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600566b181e8991b448e2f0d