npm 包 fx-template-to-pdf-node 使用教程

阅读时长 5 分钟读完

简介

fx-template-to-pdf-node 是一款基于 Node.js 的 PDF 生成工具,可以将 HTML 模板转换为 PDF 格式,并支持多种模板变量替换方式。

它是一个 npm 包,可以轻松地在 Node.js 项目中使用。同时它还拥有丰富的文档和示例代码,让开发者可以快速上手,并灵活地定制自己的 PDF 生成需求。

安装

你可以在 npm 官网上搜索该包的名称,进行安装。

使用方法

1. 引入该包

使用 require() 引入该包:

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

纠错
反馈