【转】将 azw3 格式转换为 mobi 格式并保持原有排版格式
小伙伴多次向 Kindle 伴侣提出一个问题,那就是通过 Calibre 将排版精美的 azw3 格式电子书转换成 mobi 格式后推送到 Kindle,排版格式会发生很大的变化,比如行距过窄、内嵌字体丢失等等,有没有方法避免这种情况呢?答案当然是肯定的。
通过实测发现,先用 Calibre 将 azw3 格式电子书转换成 epub 格式,然后再用 Kindlegen 把 epub 格式转换成 mobi 格式,这样一来,转换后的 mobi 格式电子书将原汁原味地保持原 azw3 格式的排版风格。OK,下面写一下详细的步骤。
一、准备软件
Calibre 下载:https://kindlefere.com/tools#calibre
Kindlegen 下载:https://kindlefere.com/tools#KindleGen
二、azw3 转 epub
1、安装并打开 Calibre,将 azw3 格式的电子书拖进 Calibre;
2、右键点击它,依次展开菜单“转换书籍” -> “逐个转换”(多本也可选择“批量转换”);
3、在弹出的窗口中将“输出格式”选择为“EPUB”,点击确定开始转换;
4、转换完成后,再次右键点击这本书,点击菜单中的“打开所在目录”得到 epub 格式电子书;
5、将此 epub 格式电子书复制到桌面上备用。
* 如果电子书本来就是 epub 格式可略过这一步。把电子书放到桌面上是为了方便演示,如果愿意您可以将它放到任何位置。
三、epub 转 mobi
1、将下载的 KindleGen 压缩包解压,得到 kindlegen.exe 并放置到桌面上;
2、打开“命令提示符”(Mac OS X 系统打开“终端”),输入下面的命令将目录定位到桌面:
cd desktop
3、输入下面的命令将 epub 格式电子书转换成 mobi 格式:
Windows 系统请输入:kindlegen.exe "bookname.epub"
Mac OS X 系统请输入:/users/你的用户名/desktop/kindlegen "bookname.epub"
* 注意为避免文件名中的字符导致错误,文件名如 bookname.epub 最好用英文双引号包裹。
* Windows 系统用户也可以将电子书直接拖放到 kindlegen.exe 文件上实现转换。
4、得到最终的 mobi 格式电子书,可以推送或拷贝到 Kindle 中阅读。
好啦,这样就不必烦恼转换 mobi 格式后排版被弄乱了,是不是很简单。如果在过程中遇到任何问题请留言提出。另外如果您有更好的方法也请留言分享。
【转】将 azw3 格式转换为 mobi 格式并保持原有排版格式的更多相关文章
- [实用分享]Kindle电子书格式AZW3转换为MOBI
[实用分享]Kindle电子书格式AZW3转换为MOBI 思路:先拆解成源文件再转换成 MOBI 推荐首选这种方法.此方法的思路是,首先用 KindleUnpack 把 azw3 文件拆解成源文件,然 ...
- 利用kindlegen实现txt格式小说转换为mobi格式小说(C++实现)
一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间.但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长.所以一直以来 ...
- C# DateTime时间格式转换为Unix时间戳格式
double ntime=dateTimeToUnixTimestamp(DateTime.Now); long g1 = GetUnixTimestamp(); long g2 = ConvertD ...
- 用Ghostscript API将PDF格式转换为图像格式(C#)
原文:用Ghostscript API将PDF格式转换为图像格式(C#) 由于项目需要在.net下将pdf转换为普通图像格式,在网上搜了好久终于找到一个解决方案,于是采用拿来主义直接用.来源见代码中注 ...
- elf格式转换为hex格式文件的两种方法
这周工作终于不太忙了,可以写点笔记总结一下了. 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次 ...
- DateTime时间格式转换为Unix时间戳格式
/// <summary> /// 将DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="date ...
- C#时间格式转换为时间戳互转
/// <summary> /// 将 DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="tim ...
- 将windows文本格式转换为UNIX格式
将windows文本格式转换为UNIX格式 1.使用sed命令来进行转换,如下: sed -e ’s,^M,,g’ textfile 其中^M的输入方法是Ctrl+V, Ctrl+M 对于批量文件的处 ...
- webm视频转换 其他视频格式转换为webm格式
将其他视频格式转换为webm格式 https://files.cnblogs.com/files/bubuchu/html5videoshipingeshizhuanhuanqi.zip
随机推荐
- jdbc、事务(Transaction)、批处理 回顾
论文写的头疼,回顾一下jdbc,换换脑子 传统的写法: 1.加载驱动类 class.forname("jdbc类的包结构"); 2.获得连接 Connection conn=Dri ...
- 【poi】用POI新建一个xlsx文件【或者说将数据存入到xlsx中】/【将数据从xlsx中获取到项目中】
第一部分:写入xlsx中 使用POI创建一个xlsx文件: 项目结构如下: 具体使用的POI中的 XSSFWorkbook xlsx对象 Sheet 工作簿对象 Row 行对象 Cell 单元格 ...
- emacs入门
emacs入门 复制: 用Ctrl-@ 设置起点, 然后移动光标到终点, 为了确认你的起点和终点,可以用 C-x C-x 将光标在起点和终点间切换,如果没问题了,可以用 Alt-w 来复制. 再找一个 ...
- [LintCode] Trapping rain water II
Given n x m non-negative integers representing an elevation map 2d where the area of each cell is 1 ...
- 启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)
报错信息大致如下所示: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect. ...
- BZOJ4361 : isn
设$f[i]$表示长度为$i$的不下降子序列的个数. 考虑容斥,对于长度为$i$的子序列,如果操作不合法,那么之前一定是一个长度为$i+1$的子序列,所以答案$=\sum_{i=1}^n(f[i]\t ...
- PHP + Redis 实现一个简单的twitter
原文位于Redis官网http://redis.io/topics/twitter-clone Redis是NoSQL数据库中一个知名数据库,在新浪微博中亦有部署,适合固定数据量的热数据的访问. 作为 ...
- DOS命令下输入:java Hello 出现以下几种结果可能的原因:
DOS命令下输入:java Hello 出现以下结果:Bad command or the file name 没有这个命令或文件名 原因可能是没有成功安装jdk或者没有配置好jdk 的环境变量,或者 ...
- 《GK101任意波发生器》升级固件发布(版本:1.0.2build306)
一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build306 编译日期:2014-09-24 ====================================== 二. ...
- discuz二次开发之后导航无法高亮 $mnid == $nav[navid]解决办法(转)
在 <body>前面加入如下代码:body原来就有一个class,直接在增加一个进行测试 <!--{eval $mnid = getcurrentnav()}--> <! ...