如何将 Gitbook 转为 PDF ?

在 Gitbook 中发现一些比较好的翻译书籍,由于不能随时上网等其它限制因素,想将其转为 PDF 版本进行离线阅读,但是没有找到相关的方法。 已经尝…
关注者
141
被浏览
240,757

10 个回答

找了一圈 发现对于gitbook转pdf没有合适的工具

为此跟小伙伴做了个工具

  • 文本可复制
  • 保留原文链接



  • 完整还原 原html页面样式
  • 体积小,800+页的pdf只占用4.6M
  • 保留原文大纲

欢迎stat以及提pr

如果已经下载了calibre,我们就可以直接使用ebook-convert。

打开Windows命令行,看是不是有ebook-convert:

ebook-convert --version

其他详细操作已经有人写过了,不重复造轮子,这里就放一个链接吧!


Gitbook:samypesse.gitbooks.io/h

以此为例,记录一下操作过程。如果你是macos linux,请按照文章开头教程链接的步骤执行。

STEP ONE:如果没有,先下载calibre。(官网:https://calibre-ebook.com

STEP TWO:下载gitbook-cli

npm install gitbook-cli -g

看一下gitbook下载是否成功

gitbook --version

如果gitbook: command not found,请参照文末的报错解决。


STEP THREE:下载源码,然后解压。

下载链接:Release 0.1.0 · SamyPesse/How-to-Make-a-Computer-Operating-System

STEP FOUR:修改book.json(可以设置自己的偏好,这里的示例需要删除 plugins 这一行)

修改之前的

STEP FIVE:输出该书

格式可以根据以下修改:

gitbook pdf <gitbook-folder-location> <pdf-location>.pdf


gitbook pdf How-to-Make-a-Computer-Operating-System-0.1.0 How-to-Make-a-Computer-Operating-System-0.1.0.pdf

报错解决gitbook command not found

详见:gitbook -v command not found node环境变量配置,npm环境变量配置

报错解决EINVAL

Error: EINVAL: invalid argument, mkdir 'C:\Program Files\nodejs\node_modules\node_global"

npm config set cache C:Program'
Error: EINVAL: invalid argument, mkdir 'C:\Program Files\nodejs\node_modules\node_global"

npm config set cache C:Program'

找到`C:\Users\Administrator.npmrc`

prefix="C:\\Program Files\\nodejs\\node_modules\\node_global\"\n\nnpm config set cache C:Program"


修改为

prefix=C:\Program Files\nodejs\node_modules\node_global
cache=C:\Program Files\nodejs\node_modules\node_cache

出现了!!!

(可能每个人的文件目录不一样,但大体都差不多)


报错解决EPERM

npm config set cache "C:\Program Files\nodejs\node_modules\node_cache\"
Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\node_global'
Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\node_global'

选择nodejs属性中Users权限,允许完全控制和修改。