简介
fx-template-to-pdf-node 是一款基于 Node.js 的 PDF 生成工具,可以将 HTML 模板转换为 PDF 格式,并支持多种模板变量替换方式。
它是一个 npm 包,可以轻松地在 Node.js 项目中使用。同时它还拥有丰富的文档和示例代码,让开发者可以快速上手,并灵活地定制自己的 PDF 生成需求。
安装
你可以在 npm 官网上搜索该包的名称,进行安装。
npm i fx-template-to-pdf-node --save
使用方法
1. 引入该包
使用 require() 引入该包:
const pdf = require('fx-template-to-pdf-node');
2. 模板语法
fx-template-to-pdf-node 使用 ejs 来处理模板,因此可以使用 ejs 的所有语法。基本语法如下:
-- -------------------- ---- ------- ---- ---- --- -------- --- ---- ------ ---- ---- --- -- -- ----- -- ---- ---- --- -- -- ----------- - -- ----------- -- - -- ---- -- --- -- --- ---- - - -- - - ------------ ---- - -- ------ ------- ------ -- - -- ---- ----- --- -- --------------------- --
3. PDF 生成
调用 fx-template-to-pdf-node 提供的 generatePdf 方法生成 PDF 文档:
-- -------------------- ---- ------- ----- --- - ----------------------------------- -- ---- ----- ---- - - ------ ---- ------ -------- ---------- ------------ -- -- --- ----- ------- - - ------- - ------- ------- --------- -------- --- -- ------- -- ------------------------------ -- ------- - ------- ------- --------- -------- --- ------- -- -- --- ---------- -------- -- -- -- -- --- -- ------------------------------- ----- ------------------------- -- - -- --------- ----- --- -- ---
其中:
template.ejs
是模板文件的路径;data
是模板数据,包含多个变量;options
是生成 PDF 时的配置项,包含页眉、页脚等设置。
该方法返回一个 Promise,Promise 完成后,会得到一个 Buffer 类型的 pdf 文档,可以使用 fs 模块将其保存到本地。
4. 页眉、页脚
fx-template-to-pdf-node 支持自定义页眉和页脚,可以在 options 中进行配置。
-- -------------------- ---- ------- ----- ------- - - -- -- ------- - ------- ------- -- ---- --------- -------- --- -- ------- -- ------------------------------ -- ------- --- -- -- -- -- ------- - ------- ------- -- ---- --------- -------- --- ------- -- -- --- ---------- -------- -- ------- --- -- -- --
页眉和页脚中均支持 ejs 语法,可以使用 <%= pageNum %> 表示当前页数,<%= totalPages %> 表示总页数。
5. 示例代码
下面是一个完整的示例代码:
-- -------------------- ---- ------- ----- --- - ----------------------------------- ----- -- - -------------- -- ---- ----- ---- - - ------ ---- ------ -------- ---------- ------------ -- -- --- ----- ------- - - ------- - ------- ------- --------- -------- --- -- ------- -- ------------------------------ -- ------- - ------- ------- --------- -------- --- ------- -- -- --- ---------- -------- -- -- -- -- --- -- --------------------------------- ----- ------------------------- -- - -- - --- ------- ---------------------------- ---------- ----- -- - -- ----- - ------------------- - ---- - ---------------- ------- ---------------- - --- ---
通过以上代码,我们可以看出,fx-template-to-pdf-node 可以轻松地处理 HTML 模板生成 PDF,而且可以按需定制需求,非常适合项目中 PDF 生成的需求。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055adc81e8991b448d8827