gitbook导出markdown文件为pdf格式
前言
本人想完成如题所示的操作,可是兜兜转转在网上搜了好久,不是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格式的更多相关文章
- Markdown转HTML/pdf格式
Markdown转HTML/pdf格式 通过_github自带_的更新博客的网页: https://github.com/YOUR_GITHUB_ACCOUNT/YOUR_GITHUB_ACCOUNT ...
- java 调用OpenOffice将word格式文件转换为pdf格式
一:环境搭建 OpenOffice 下载地址http://www.openoffice.org/ JodConverter 下载地址http://sourceforge.net/projects/jo ...
- winform利用itextsharp.dll实现图片文件转换PDF格式文件
1.利用itextsharp.dll实现单个图片文件转换为PDF格式文件, 可以使用以下类: void ConvertJPG2PDF(string jpgfile, string pdf) { var ...
- [原创]使用Pandoc实现Markdown文件转PDF文件
Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...
- [csdn markdown]使用摘记二 快捷键及导入导出Markdown文件
csdn推出了新的编辑器markdown,对于习惯使用离线编辑的人员来说是个大的福利,比如上班的时候,不能联网,但是又有好些知识点需要记录,等到下班了呢,又想直接把这些排版格式良好的文件直接上传到cs ...
- 使用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 ...
- Linux(Ubuntu)使用日记------markdown文件与pdf,doc,docx文件的相互转化(pandoc使用)
安装: sudo apt-get install pandoc 使用: man pandoc 查看帮助文档 直接转换,命令如下: pandoc -f markdown -t docx ./test ...
- 导出文本、表格、图像到PDF格式文件中(学习整理)
1.测试例子: 需要导入的外部jar包: 相关API http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/pack ...
- 利用Pandoc将markdown文件转化为pdf
利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...
随机推荐
- 深入理解java虚拟机笔记Chapter3-垃圾收集器
垃圾收集器 垃圾收集(Garbage Collection,GC),它的任务是解决以下 3 件问题: 哪些内存需要回收? 什么时候回收? 如何回收? 本节补充知识: ① s:Survivor区 新生代 ...
- Spring——Bean的作用域
Spring中Bean的作用域有五种,分别是singleton.prototype.request.session.globalSession.其中request.session.globalSess ...
- selenium css定位元素
CSS 选择器: 常见符号: #表示 id选择器 .表示 class选择器 >表示子元素,层级 一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径 一.css:属性定 ...
- canal+mysql+kafka实时数据同步安装、配置
canal+mysql+kafka安装配置 概述 简介 canal译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 基于日志增量订阅和消费的业务包括 数 ...
- pandas的数据结构介绍(一)—— Series
pandas两个主要数据结构之一--Series 类似于一维数组,由一组数据和与其相关的一组索引组成 obj = Series([4, 7, -5, 3], index=['d', 'b', 'a', ...
- starter自动转配流程以及@Import注解使用
本文主要内容包括三个部分,第一部分主要介绍@Import注解的三种使用方法,第二部分主要介绍自定义starter的两种形式,第三部分主要介绍Springboot自动装配Bean的大致流程,第四部分主要 ...
- 手摸手,带你用Beego撸商城系列二(登录篇)
完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系 ...
- 全面解析Pytorch框架下模型存储,加载以及冻结
最近在做试验中遇到了一些深度网络模型加载以及存储的问题,因此整理了一份比较全面的在 PyTorch 框架下有关模型的问题.首先咱们先定义一个网络来进行后续的分析: 1.本文通用的网络模型 import ...
- 去除office自动生成目录后生成的小框框(内容控件,目录控件)
如何自动生成目录在这里就不进行阐述了,想必能看到这这里的人已经完成了目录的自动生成,那我就来直接演示如何去除自动生成目录后烦人的目录内容控件吧 直接上图片
- Kubernetes使用节点亲缘性将POD调度到特定节点上
节点污点可以用来让pod远离特定的节点,尽量在不修改已有pod信息的前提,通过在节点添加污点信息,来拒绝pod在某些节点上的部署. 而现在介绍一种叫做节点亲缘性,通过明确的在pod中添加的信息,来决定 ...
