在前端开发中,我们经常需要生成 PDF 文件,而现有的 PDF 生成工具大多需要后端支持,操作起来比较复杂且不灵活,因此我们推荐使用 npm 包 ec-plugin-pdfmake,它可以方便地在前端生成 PDF 文件。
什么是 ec-plugin-pdfmake?
ec-plugin-pdfmake 是基于 pdfmake 库的一个 npm 包,pdfmake 是一个可以在前端生成 PDF 文件的现成库,支持 HTML 标记、自定义样式和中文排版等常见需求,而 ec-plugin-pdfmake 则是在 pdfmake 基础上做了进一步的封装和优化,提供一些常用功能的封装,简化 PDF 生成流程。
安装和使用
安装 ec-plugin-pdfmake 只需要一个命令:
npm install ec-plugin-pdfmake --save
安装完成后,在需要使用的文件中引入:
import pdfmake from "pdfmake/build/pdfmake"; import pdfFonts from "pdfmake/build/vfs_fonts"; import { printPdf } from "ec-plugin-pdfmake"; pdfmake.vfs = pdfFonts.pdfMake.vfs;
引入完成后,即可开始使用 ec-plugin-pdfmake 提供的 API。
API
1. printPdf(options)
生成 PDF 文件的主要方法,接受以下参数:
options
:PDF 文件的基本信息和内容
其中 options 包含以下参数:
title
:PDF 文件的标题content
:PDF 文件的内容,支持 HTML 标记和自定义样式footer
(可选):PDF 文件的页脚,支持 HTML 标记和自定义样式pageOrientation
(可选):PDF 页面的方向,默认为 "portrait"pageSize
(可选):PDF 页面的大小,默认为 "A4"marginTop
(可选):PDF 页面的上边距,默认为 40marginBottom
(可选):PDF 页面的下边距,默认为 40marginLeft
(可选):PDF 页面的左边距,默认为 40marginRight
(可选):PDF 页面的右边距,默认为 40styles
(可选):PDF 内容的自定义样式
一个示例 options 对象:
-- -------------------- ---- ------- ----- ------- - - ------ --- --- ------ -------- ---------- ------------ ------- ------------- -- ----------------------- ---------------- ------------ --------- ----- ---------- --- ------------- --- ----------- --- ------------ --- ------- - ------- - --------- --- ----- ----- -- ----- - --------- --- -- ------- - --------- --- ------ ------- ----- ----- -- -- --
2. registerFont(family, fonts)
注册字体的方法,用于自定义 PDF 文件中使用的字体,接受以下参数:
family
:字体名称fonts
:字体样式对象
一个示例字体注册方法:
-- -------------------- ---- ------- ------------- - - ----------- - ------- ------------------------- ----- ---------------------- -------- ----------------------- ------------ ------------------------- -- -- -------------------------- --------------------------
3. getBase64(pdfDoc)
将 PDF 文件转换为 Base64 编码的方法,用于上传和发送 PDF 文件,接受以下参数:
pdfDoc
:待转换的 PDF 文件
一个示例转换方法:
const pdfDocGenerator = pdfmake.createPdf(options); pdfDocGenerator.getBase64((data) => { console.log(data); });
4. downloadPdf(filename, pdfDoc)
下载 PDF 文件的方法,用于在前端直接下载 PDF 文件,接受以下参数:
filename
:文件名pdfDoc
:待下载的 PDF 文件
一个示例下载方法:
const pdfDocGenerator = pdfmake.createPdf(options); pdfDocGenerator.download("example.pdf");
示例代码
下面是一个完整的示例代码:
-- -------------------- ---- ------- ------ ------- ---- ------------------------ ------ -------- ---- -------------------------- ------ - --------- ------------ - ---- -------------------- ----------- - --------------------- -- ------- ------------- - - ----------- - ------- ------------------------- ----- ---------------------- -------- ----------------------- ------------ ------------------------- -- -- -------------------------- -------------------------- -- --- ---- ----- ------- - - ------ --- --- ------ -------- ---------- ------------ ------- ------------- -- ----------------------- ---------------- ------------ --------- ----- ---------- --- ------------- --- ----------- --- ------------ --- ------- - ------- - --------- --- ----- ----- -- ----- - --------- --- -- ------- - --------- --- ------ ------- ----- ----- -- -- -- -- -- --- -- ----- --------------- - --------------------------- ----------------------------------------
总结
ec-plugin-pdfmake 是一个非常实用的前端 PDF 文件生成工具,可以简化开发流程,提高效率。同时,它也非常易于扩展和定制,可以满足更多高级需求。希望这篇文章能够对您的工作有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60058b6781e8991b448ed3cd