前言
本人想完成如题所示的操作,可是兜兜转转在网上搜了好久,不是Linux下的教程就是mac OS下的教程,而且一大堆windows的教程能够说明白的寥寥无几,本着分享的态度,鄙人今天特整理教程如下:

一、安装nodejs

进入官网:  http://nodejs.cn/download/,并点击如图所示找到对应的版本并下载安装包:

双击安装包安装nodejs,默认也把npm勾选安装上,选择自定义安装路径,例如:D:\Program Files\nodejs,这个时候nodejs应该已经被添加到环境变量了,如果没有可以自己手动添加。

查看nodejs版本:
执行npm -version可以查看版本,如下图:

二、下载gitbook工具

在安装之前可以先更改一下安装源,默认是国外的,改成国内的,否则后续安装你会有想哭的冲动~~

打开D:\Program Files\nodejs\node_modules\npm\npmrc文件,增加如下配置:

registry=http://registry.npm.taobao.org 

保存配置。

然后输入命令: npm install gitbook-cli -g , 全局安装gitbook。

查看gitbook工具是否已经安装成功,使用命令:gitbook -V
同时这个命令会自动安装gitbook

出现如上图结果则说明此时gitbook安装成功。

三、制作PDF

先下载两个插件:

3.1 phantomjs

进入https://bitbucket.org/ariya/phantomjs/downloads/下载phantomjs:

将下载的压缩包解压,并将解压后的目录添加到环境变量。

安装完成后,查看版本:phantomjs --version

表示安装成功。

3.2 calibre

进入https://calibre-ebook.com/download_windows下载calibre:

直接安装下载后的软件,并在将安装目录添加到环境变量中,默认安装在:

C:\Program Files (x86)\Calibre2

安装可以参看链接:https://jingyan.baidu.com/album/6079ad0eb87aa328fe86db6a.html?picindex=1。

直接点击下一步即可,邮件什么的不用填写。

查看版本:calibre -v

3.3 插件都安装好并配置环境变量后,接下来我们就可以安装gitbook-pdf了:

npm install gitbook-pdf -g 

查看版本:gitbook-pdf --version

gitboot-pdf安装失败后,再次安装仍失败解决:

查看日志:删除gitbook-pdf相关安装文件:

C:\Users\Administrator\AppData\Roaming\npm-cache\_logs

安装成功后:下面会有:gitbook-pdf相关配置信息。安装失败后需要删除重新安装。

C:\Users\Administrator\AppData\Roaming\npm

C:\Users\Administrator\AppData\Roaming\npm\node_modules

三、 生成PDF文件

切换到你之前自己写的电子书文档目录(shift+右键:当前目录打开命令行窗口),或者从网上下载的电子书文档,执行如下命令:

gitbook pdf ./mybook

生成的PDF文件即在你的电子书文档目录mybook里面。

关于gitbook build 生成的HTML无法跳转章节的问题
如题,发生如上所述问题,很大概率你使用的gitbook版本过高,解决办法如下:
gitbook降低版本到 2.6.7 就可以了,使用如下命令:

gitbook build --gitbook=2.6.7

四、注意事项

1、本地的环境变量:用到的标黄了。

E:\ProgramFiles\Java\jdk1.7.0_80\bin;%MAVEN_HOME%\bin;E:\ProgramFiles\Java\jdk1.7.0_80\jre\bin;C:\Program Files (x86)\VanDyke Software\Clients\;C:\Users\Administrator\AppData\Local\BypassRuntm;C:\Users\Administrator\AppData\Roaming\npm;C:\Users\Administrator\AppData\Local\Yarn\bin;C:\Users\Administrator\AppData\Local\GitHubDesktop\bin;E:\phantomjs-1.9.7-windows\phantomjs-1.9.7-windows;C:\Program Files (x86)\Calibre2

其中phantomjs的环境变量配置时,就是将.exe文件所在的目录配置到path中即可。

calibre的环境变量配置时,将其安装路径C:\Program Files (x86)\Calibre2配置到path中即可。

原文链接:https://blog.csdn.net/june_young_fan/article/details/88628096

https://bitbucket.org/ariya/phantomjs/downloads/下载phantomjs:

gitbook导出markdown文件为pdf格式的更多相关文章

  1. Markdown转HTML/pdf格式

    Markdown转HTML/pdf格式 通过_github自带_的更新博客的网页: https://github.com/YOUR_GITHUB_ACCOUNT/YOUR_GITHUB_ACCOUNT ...

  2. java 调用OpenOffice将word格式文件转换为pdf格式

    一:环境搭建 OpenOffice 下载地址http://www.openoffice.org/ JodConverter 下载地址http://sourceforge.net/projects/jo ...

  3. winform利用itextsharp.dll实现图片文件转换PDF格式文件

    1.利用itextsharp.dll实现单个图片文件转换为PDF格式文件, 可以使用以下类: void ConvertJPG2PDF(string jpgfile, string pdf) { var ...

  4. [原创]使用Pandoc实现Markdown文件转PDF文件

    Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...

  5. [csdn markdown]使用摘记二 快捷键及导入导出Markdown文件

    csdn推出了新的编辑器markdown,对于习惯使用离线编辑的人员来说是个大的福利,比如上班的时候,不能联网,但是又有好些知识点需要记录,等到下班了呢,又想直接把这些排版格式良好的文件直接上传到cs ...

  6. 使用openoffice将word文件转换为pdf格式遇到问题:The type com.sun.star.lang.XEventListener cannot be resolved. It is indirectly referenced from required

    The type com.sun.star.lang.XEventListener cannot be resolved. It is indirectly referenced from requi ...

  7. Linux(Ubuntu)使用日记------markdown文件与pdf,doc,docx文件的相互转化(pandoc使用)

    安装: sudo apt-get install pandoc 使用: man pandoc   查看帮助文档 直接转换,命令如下: pandoc -f markdown -t docx ./test ...

  8. 导出文本、表格、图像到PDF格式文件中(学习整理)

    1.测试例子: 需要导入的外部jar包: 相关API http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/pack ...

  9. 利用Pandoc将markdown文件转化为pdf

    利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...

随机推荐

  1. 狂神说redis笔记(三)

    八.Redis.conf 容量单位不区分大小写,G和GB有区别 可以使用 include 组合多个配置问题 网络配置 日志 # 日志 # Specify the server verbosity le ...

  2. mybatis学习——多对一和一对多查询

    首先先来说明一下数据库,数据库有两张表student表和teacher表: student表如下: teacher表如下: 两张表的关系:多个学生关联一位老师(多对一) *其中tid是外键 需要sql ...

  3. centos7 配置国内yum源

    配置清华大学镜像仓库 URL:https://mirrors.cnnic.cn/ CentOS 镜像使用帮助 https://mirrors.cnnic.cn/help/centos/ 建议先备份 C ...

  4. WPF 后台代码做 TranslateTransform 的动画

    本文告诉大家,在后台代码,对 TranslateTransform 做动画的方法 今天小伙伴问我一个问题,说为什么相同的代码,如果设置到按钮上,是可以让按钮的某个属性变更,但是如果设置给 Transl ...

  5. 利用 Bean Validation 来简化接口请求参数校验

    团队新来了个校招实习生静静,相互交流后发现竟然是我母校同实验室的小学妹,小学妹很热情地认下了我这个失散多年的大湿哥,后来... 小学妹:大湿哥,咱们项目里的 Controller 怎么都看不到参数校验 ...

  6. Hibernate 这么硬核,为什么用的人少?

    关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题.最近温习了一遍SSH框架,发了动弹,和广大猿友进行了深刻的探讨,被喷的五体投地,感慨万千,于是就有了今天这篇文章. 声明:本文只是小编 ...

  7. 「csp-s模拟测试(9.18)」Set·Read·Race

    昨天考试考得有点迷??? 一看内存限制,T1 64MB T2 16MB 当场懵比......... T1 set 考场打的背包问题和随机化,其实能randA掉,但不小心数组开小了????(长记性!!! ...

  8. 循序渐进BootstrapVue,开发公司门户网站(5)--- 使用实际数据接口代替本地Mock数据

    在我们开发一些门户网站功能的时候,有时候我们需要快速的创建数据模型来进行数据展示,因为数据结构可能处于不断的修正变化之中,因此服务端的接口我们可以暂时不开发,当我们基本完成数据结构和界面展示的时候,就 ...

  9. 31、服务器磁盘、内存、cpu使用率监控

    31.1.监控磁盘: #!/bin/sh diskspace="`df -hT`" IFS="\n" disk_value="80" ech ...

  10. 在FLEX中真正的隐藏一个组件,隐藏后不占据自身的位置. (转)

    一直被这个问题困扰,就是在设置UI的Visible的时候,改组件的位置一直被占着,比较恶心,今天在这里发现了一个方法, 操作方法如下设置: includeInLayout为false即可 来自:htt ...