Gitbook 生成 pdf 中文字体错乱问题解决办法
Gitbook 生成 pdf 中文字体错乱问题解决办法
示例:

下面针对这一问题提供简单的解决办法: 本地命令行生成 pdf 文件. 当然这种方法有一定局限性, 你需要找到托管在 github 对应的源码仓库且转换过程中不出错. (由于水平有限未能解决在线生成的pdf中文字体错乱问题, 见谅. 也就是说网站自动生成的 pdf 依旧字体错乱, 但是本地生成的pdf文件是没有这个问题的 orz... 如果是 gitbook 上的写作者的话可以本地生成 pdf 上传至网盘提供下载)
Gitbook 项目介绍
GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git 的教程。
Gitbook 安装(以下环境是在 OS X 中进行的, 其他环境记得替换命令)
- 通过 NPM 安装 Gitbook
$ npm install gitbook-cli -g
- 查看 Gitbook 版本
$ gitbook versions
安装 Calibre
- OS X 需要链接到转换工具
$ sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin
Gitbook 本地生成文档
- 下载仓库(以"Mac 开发配置手册"为例)
$ git clone https://github.com/Aaaaaashu/Mac-dev-setup
注意是电子书托管的仓库地址而不是电子书的地址, 有的作者会直接给出, 没有给出的话通过作者 id 在 github 上查找, 注意替换地址. 还有一些没能找到仓库的, 可以去其他网站找一下 pdf.
- 进入文件夹
$ cd Mac-dev-setup
- 生成 HTML 文件(非必要)
$ gitbook serve
默认在当前目录下生成包含 html 网页名为 _book 的文件夹, 并启动端口为4000的预览服务器, 可通过 http://localhost:4000 预览.
- 生成 pdf 文件
$ gitbook pdf
默认在当前目录下生成名为 book.pdf 的文件, 类似的可生成 epub 和 mobi 文件.
这样字体正确的 pdf 文件就生成了, 对比直接从 gitbook 下载的 pdf, 体积变大了.
常见错误
本地命令经常会卡在最后一步, 经常见的如 permission denied, 即没有权限, 记得在前面添加 sudo 或直接启用 admin.
你还可能碰到许多诸如下载失败的错误, 多数情况下是墙引起的, 还请自备翻墙技巧哈.
其他的错误有插件加载失败, 错误信息里有命令提示gitbook install.
还有就是 svg 转换 png 的错误, 不影响阅读情况下可以找到对应的文件删除对应语句. 如果 svg 图片很多的话, 靠删除不能解决问题. 看了些讨论也没能解决, 如果你有解决办法, 请联系我.
写在最后
网上的一些教程由于时间太早, 有些命令已经舍弃了, 如 gitbook 的安装命令, 添加 pdf 依赖等, 还请以官方文档为准.
本文旨在解决从 gitbook 下载的 pdf 中文字体错乱问题, 更多的 gitbook 使用技巧及如何构建电子书可以参考GitBook 简明教程, 和参阅官方文档或自行 Google. 希望能对你有所帮助.
Gitbook地址 || Gitbook项目地址 || 中文文档
参考: Gitbook 使用入门
Gitbook 生成 pdf 中文字体错乱问题解决办法的更多相关文章
- 文章投稿 latex 生成 pdf的字体Embeded问题解决(转自兵马俑BBS)
此法可以把所有字体转为Embedded,先生成*.ps文件,下载ghostscrip8.51和GSView4.7 安装,用gsview4.7转换*.ps->*.pdf,在gsview中File- ...
- sublime Text3中文字体错位问题解决办法
问题如下: 问题成因: 配置中的默认字体为Consolas,这种字体对中文支持效果不是很好 解决办法: 1.下载 Yahei Consolas Hybrid 字体 2.将下载的Yahei Consol ...
- php导出pdf,dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)
dompdf\lib\fonts\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我... ...
- Open Sans字体兼容问题解决办法[font-face]
参考:http://www.tantengvip.com/2014/11/open-sans/ 1.font-face使用方法 font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入 ...
- openerp 7.0邮件接收中文附件乱码问题解决办法
openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...
- python生成word中文字体
python生成word中文字体 我们今天用python生成word文件,主要是用到了PyRTF包生成rtf文件,由于PyRTF的包中文教程比较少,所以特此记录几篇文章,也希望给大家有一些帮助. 开始 ...
- Linux环境下中文字体乱码处理办法
项目中包含了一项生成JPG图片的功能,该功能需要使用JAVA的Graphics2D动态生成图片中的文字,原来在Windows平台中没有发现问题,但是迁移至Linux平台后发现生成的中文变成了乱码. 百 ...
- php+tcpdf生成pdf: 中文乱码
TCPDF是一个生成PDF的不错的库,可惜,官方对包括中文在内的东亚字体支持不怎么样的.场景:某项目需要根据数据库信息生成pdf格式的发票,考虑采用稳定的tcpdf,虽然还有许多其它选择,但是这个应该 ...
- JasperReport4.6生成PDF中文
Web项目中PDF显示中文 本人无奈使用JasperReport4.6,因为这本书(好像也是唯一的一本国内的介绍JasperReport的书), 选择"文件"→New命令,弹出一个 ...
随机推荐
- FM遇到错误RQP-DEF-0354和QE-DEF-0144
版本:Cognos 10.2.1 系统:Win10 操作过程:在FM调用了一个存储过程,其中引用了前端page页面的参数如下图所示,在验证和保存查询主题的时候一直提示参数没有替换值,错误 信息如下图所 ...
- 实战:INNOBACKUPEX for mysql 5.6自己主动还原脚本-v2
脚本再次更新,共享一下! #!/bin/sh # # 用法: # ./restore.sh /你备份文件的全路径 #ocpyang@126.com INNOBACKUPEX=innobackupex ...
- [Node.js] Level 2 new. Event
Chat Emitter We're going to create a custom chat EventEmitter. Create a new EventEmitter object and ...
- Mockito: InvalidUseOfMatchersException
异常报错信息: org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument match ...
- Android网络:开发浏览器(二)——功能完善之书签功能
经过上述的编写,基本的功能已经完成了,不过工具栏里面基本还是一片空白,只有一个刷新的功能,现在咱们就先完善这些功能(之前有朋友说来点图,那么这次我会截些图更好的来描述). 既然是浏览器,怎么能没有书签 ...
- or1200中载入存储类指令说明
下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 OR1200中实现的载入存储类指令有8条,每条指令的作用与说明如表9.1所看到的. watermark/2/text/aHR0cDo ...
- Oracle 11g 分区拆分与合并
时间范围分区拆分create table emp (id number(6) not null,hire_date date not null)partition by range(hire_date ...
- 老男孩Linux.shell.RHCE运维初中高级50G附解压密码
学习Linux,好的教程.使学习事半功倍! 老男孩Linux.shell.RHCE运维初中高级 下载地址: http://pan.baidu.com/s/1hsQOb2W 密码: h4hs 解压密码: ...
- maven 错误处理
如果是方法找不到或者返回参数变了,那么肯定是包被升级了,那么到仓库下把对应的包删掉,然后maven自动下载最新的. 如果是包找不到,或者类找不到,那么把maven ->update maven可 ...
- 配置eclipse插件
http://blog.csdn.net/zhangyabinsky/article/details/7043435