前言
本人想完成如题所示的操作,可是兜兜转转在网上搜了好久,不是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. Java 面试题关于包装类

    这几个问题的知识点涉及的内容非常的刁钻,值得自己好好的理解. 问以下程序的输出结果是: 问题一: Object object=true ? new Integer(1):new Double(2.0) ...

  2. Spring Cloud04: RestTemplate的使用

    上一篇我们已经学会了如何创建一个服务提供者,那么这一篇我们来创建一个服务消费者,实现思路是先通过Spring boot搭建一个微服务应用,再通过Eureka Client把它注册到注册中心Eureka ...

  3. Etcd中Raft joint consensus的实现

    Joint consensus 分为2个阶段,first switches to a transitional configuration we call joint consensus; once ...

  4. 入门实践丨如何在K3s上部署Web应用程序

    在本文中,我们将使用Flask和JavaScript编写的.带有MongoDB数据库的TODO应用程序,并学习如何将其部署到Kubernetes上.这篇文章是针对初学者的,如果你之前没有深度接触过Ku ...

  5. ORA-01157:cannot identify/lock data file 6 - see DBWR trace file ORA-01110:data file 6:'/u01/app/oracle/oradata/PRDO2/sysaux02.dbf'

  6. 搭建DG(data guard),及搭建过程中遇到的一些小问题

    一.准备工作:主库:虚拟机名称host06 主机名:host06 IP:192.168.100.60 db_name&SID:ENMO  db_unique_name:PROD 存储:文件系统 ...

  7. 手把手教你IDEA连接码云(Gitee)

    目录 前言 一.下载.安装git 1.打开git官网,选择你的操作系统 2.根据你的系统位数选择相应的版本下载 3.安装 4.配置全局的用户名.邮箱 5.在idea中配置git目录 二.配置Gitee ...

  8. js笔记22

    1.在拖拽元素的时候,如果元素的内部加了文字或者图片,拖拽效果会失灵? 浏览器会给文字和图片一个默认行为,当文字和图片被选中的时候,会有一个拖拽的效果,即使我们没有人为给他添加.所以当我们点击这个元素 ...

  9. Weblogic下的servlet内存马注入-无参照纯调试

    目录 1.寻找servlet注入方法 1.1 调试 1.2 servletMapping添加servlet 2.获取request 2.1 从当前线程寻找信息 2.2 JNDI注入到内存马注入 3.关 ...

  10. sed 大括号 sed {} 的作用详解

    今天看别人写的脚本的时候,看到了sed  -r   {}   我看网上对于这个的记录比较少,所以就写了这篇随笔. 先看一下效果 cat  test.txt image: qqq/www/eee:TAG ...