概述
本教程将介绍一个非常实用的 npm 包,它可以将 HTML 转换成 PDF 文件。该包为 wkhtmltopdf 的一个 Node.js 的 options 包装器。它可以让我们通过更加简单易用的方式来调用 wkhtmltopdf,同时支持多种自定义设置,比如设置 PDF 页面大小、旋转方向、页边距、页眉页脚等等。
安装
安装此包需要先在安装好 wkhtmltopdf。
--- ------- ----------------------------------
在代码中引入依赖
----- ----------- - ----------------------------------------------
使用说明
基础使用
最简单的使用方式是只需要传入需要转为 PDF 文件的 HTML 内容即可。
----- ------- - - ------- ------------ -- --------------------- ------------ ---------
其中 options 参数支持以下属性:
output
:设置要生成的 PDF 文件的存储路径和文件名。headerHtml
和footerHtml
:可以分别设置 PDF 文件的页眉和页脚。可以使用包含变量的 HTML 模板或者完整的 HTML 代码。变量可以使用位置、页数和总页数。marginTop
、marginBottom
、marginLeft
和marginRight
:用于调整 PDF 页的边距。pageSize
:设置 PDF 页面的大小,支持 A3、A4、A5、Legal、Letter、Tabloid 和自定义大小。
自定义选项
wkhtmltopdf 提供了很多自定义选项,我们可以将这些选项传递给此包以生成自定义的 PDF 文件。这些选项在 options 对象中使用以“options”开头的对象来指定。
例如,我们可以使用以下代码生成非常高质量的 PDF 文件。
----- ------- - - ------- -------------- --------- --------- ---- ---- ------------ ----- ------ --- ---------- -- ------------- -- ----------- --- ------------ --- -------- - ------------- ----- -------------------------- ----- ------------------- ----- ---------------------- --------- ---------------------------- --------- -------------- ----------- ------------- ------------------------- ------------- ------------- -- ----------------------- -------------- ----------- ------------- ------------------------- ------------- ------------ ----- -------------------------- -- ----- ----------------------------------------- --------- - ----- ------ -- ------------------- - --------------- - -- -- --------------------------- ---------
此例中,我们使用常规的 CSS 文件添加自定义样式,同时使用了 wkhtmltopdf 特定的选项来添加页眉和页脚,处理加载错误,以及添加 cookie。该示例使用 options 对象来添加自定义选项。
事件
此包支持一些事件,我们可以利用这些事件来对 PDF 转换过程进行处理。例如,我们可以使用 progress 事件来监控 PDF 文件的转换进度,并在进度达到 50% 时打印一条消息。
--------------------------- - ------- ------------- --------- ---------- -- - -- ------------------- -- ---- - ---------------- ------------ - -- ---
目前支持以下事件:
message
:在转换过程中有消息输出时触发。progress
:在转换过程中有进度时触发。error
:在转换过程中有错误时触发。
示例代码
----- ----------- - ---------------------------------------------- ----- ------- - - ------- -------------- --------- --------- ---- ---- ------------ ----- ------ --- ---------- -- ------------- -- ----------- --- ------------ --- -------- - ------------- ----- -------------------------- ----- ------------------- ----- ---------------------- --------- ---------------------------- --------- -------------- ----------- ------------- ------------------------- ------------- ------------- -- ----------------------- -------------- ----------- ------------- ------------------------- ------------- ------------ ----- -------------------------- -- ----- ----------------------------------------- ------- - ----- ------ -- ------------------- - --------------- - -- -- --------------------------- ---------
总结
wkhtmltopdf-nodejs-options-wrapper 是一个非常实用的 npm 包,它可以将 HTML 内容转换为 PDF 文件。它非常易于使用,支持多种自定义设置,比如设置 PDF 页面大小、旋转方向、页边距、页眉页脚等等。此包还支持一些事件,使我们可以在转换过程中进行处理。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6006710e8dd3466f61ffe1f3