前言
在前端开发过程中,我们通常使用 Gitbook 来写文档,而在将文档部署到服务器上时,我们也需要将文档转换成 PDF 格式,以方便用户离线查看。因此,本文介绍了一个方便快捷的工具:npm 包 rokid-gitbook-pdf,通过这个工具,可以轻松将 Gitbook 文档转换成 PDF 格式。
介绍
rokid-gitbook-pdf 是一款 Node.js 模块,它能够将 Gitbook 格式的文档转换成 PDF 格式。此模块利用 Gitbook 执行生成静态站点的命令,并使用 Puppeteer 将生成的 HTML 转换为 PDF。除此之外,此模块还允许你对生成的 PDF 进行自定义处理,比如添加水印等。
安装
使用 npm 安装 rokid-gitbook-pdf:
npm install rokid-gitbook-pdf -g
使用
命令行使用
使用 rokid-gitbook-pdf 的最简单方式就是在 Gitbook 的目录下执行如下命令:
rokid-gitbook-pdf
该命令会使用 Gitbook 生成静态网站,并将生成的 HTML 文件转换成 PDF 文件并输出到 ./_book
目录下。
Node.js 使用
在 Node.js 项目中,你可以使用如下的代码调用 rokid-gitbook-pdf:
-- -------------------- ---- ------- ----- --- - ----------------------------- ----- ------ --------------- ------- ------------------ ----------- - ------- ---- - --------- -- - -------------------- --------------- --- ---------- -- - ----------------------- --- ---
以上代码中,input 参数指定 Gitbook 的路径,output 参数为生成 PDF 文件的保存路径。pdfOptions 参数用于配置 PDF 文档输出的样式,比如设置页面大小、页面方向等。
高级设置
rokid-gitbook-pdf 提供了一些高级设置,以满足不同使用场景的需求。
添加自定义 CSS
你可以在 Gitbook 的目录下创建一个 pdf.css
文件,该文件使用 CSS3 语法编写,其中的样式会应用到 PDF 文档中。
添加水印
使用 rokid-gitbook-pdf,你可以为 PDF 文档添加水印,只需将以下代码添加到 pdf.css
文件中即可:
@page { background-image: url("BRAND_MARKING_IMAGE.jpg"); background-repeat: repeat; background-position: 50% 50%; background-size: contain; }
其中 BRAND_MARKING_IMAGE.jpg 指定水印的图片路径,background-repeat、background-position、background-size 用于指定水印的重复、位置、大小等属性。
添加封面
如果你需要在 PDF 文件中添加封面,请在 Gitbook 的目录下创建一个 cover.html
文件,该文件会自动添加到生成的 PDF 文件的第一页。
所有可用选项
除以上提到的选项外,你还可以使用以下选项(选项名大小写敏感):
选项名 | 默认值 | 描述 |
---|---|---|
input |
'./' |
Gitbook 的路径 |
output |
'./book.pdf' |
PDF 文件的保存路径 |
title |
undefined |
PDF 文件的标题 |
author |
undefined |
PDF 文件的作者 |
subject |
undefined |
PDF 文件的主题 |
keywords |
undefined |
PDF 文件的关键字 |
fontSize |
undefined |
PDF 文件中正文字体大小 |
pageNumbers |
false |
是否在 PDF 文件中包含页码 |
cover |
undefined |
封面 HTML 文件的路径,相对于 Gitbook 的目录 |
tocTemplate |
undefined |
目录 HTML 文件的路径,相对于 Gitbook 的目录 |
pdfOptions |
{} |
配置生成的 PDF 文件格式的对象 |
示例代码
下面的示例代码演示如何生成 PDF 格式的文档:
-- -------------------- ---- ------- ----- --- - ----------------------------- ----- ------ --------- ------- ------------------ ------ ---------- -- --------- ------- ----- ----- -------- -------- --------------- --------- --------- -------------- ----- --------- --- ------------ ----- ------ -------------------- ------------ ------------------ ----------- - ------- ----- ------- - ---- ------ ------ ------ ------- ------ ----- ----- -- -------------------- ----- --------------- ----- ------------------ ------- ---------- -------------------- --------------- ----- ------------------ ------- ---------- ---------- ----- -------------------------- -- ----- --------------------------------- - --------- -- - -------------------- --------------- --- ---------- -- - ----------------------- --- ---
总结
通过使用 rokid-gitbook-pdf,我们可以非常方便地将 Gitbook 格式的文档转换成 PDF 格式。这对于需要离线查看的用户非常有用。希望本文对你有所帮助,如果有任何疑问或建议,欢迎在评论区留言!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cca81e8991b448e6537