小伙伴多次向 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 格式并保持原有排版格式的更多相关文章

  1. [实用分享]Kindle电子书格式AZW3转换为MOBI

    [实用分享]Kindle电子书格式AZW3转换为MOBI 思路:先拆解成源文件再转换成 MOBI 推荐首选这种方法.此方法的思路是,首先用 KindleUnpack 把 azw3 文件拆解成源文件,然 ...

  2. 利用kindlegen实现txt格式小说转换为mobi格式小说(C++实现)

    一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间.但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长.所以一直以来 ...

  3. C# DateTime时间格式转换为Unix时间戳格式

    double ntime=dateTimeToUnixTimestamp(DateTime.Now); long g1 = GetUnixTimestamp(); long g2 = ConvertD ...

  4. 用Ghostscript API将PDF格式转换为图像格式(C#)

    原文:用Ghostscript API将PDF格式转换为图像格式(C#) 由于项目需要在.net下将pdf转换为普通图像格式,在网上搜了好久终于找到一个解决方案,于是采用拿来主义直接用.来源见代码中注 ...

  5. elf格式转换为hex格式文件的两种方法

    这周工作终于不太忙了,可以写点笔记总结一下了. 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次 ...

  6. DateTime时间格式转换为Unix时间戳格式

    /// <summary> /// 将DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="date ...

  7. C#时间格式转换为时间戳互转

    /// <summary> /// 将 DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="tim ...

  8. 将windows文本格式转换为UNIX格式

    将windows文本格式转换为UNIX格式 1.使用sed命令来进行转换,如下: sed -e ’s,^M,,g’ textfile 其中^M的输入方法是Ctrl+V, Ctrl+M 对于批量文件的处 ...

  9. webm视频转换 其他视频格式转换为webm格式

    将其他视频格式转换为webm格式 https://files.cnblogs.com/files/bubuchu/html5videoshipingeshizhuanhuanqi.zip

随机推荐

  1. intersection

    用来找到两个rdd的交集,注意,最终的new rdd的分区数量取决于两个rdd中的最大分区数量. 测试一下: val data1 = sc.parallelize(1 to 20,1) val dat ...

  2. hdu 5762 Teacher Bo 曼哈顿路径

    Teacher Bo Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tota ...

  3. 2016.7.9 计算机网络复习要点第四章之网际控制报文协议ICMP

    1.ICMP允许主机或路由器报告差错情况和提交有关异常情况的报告:为了更有效地转发IP数据报和提高交付成功的机会: 2.ICMP不是高层协议,因为ICMP报文是装在IP数据报中的,作为其中数据部分,所 ...

  4. jquery优化01

    查找: children:     find(selector), children(selector): parent:       parent(), parents(selector), clo ...

  5. http://blog.csdn.net/jun55xiu/article/details/43051627

    http://blog.csdn.net/jun55xiu/article/details/43051627

  6. 模拟 ZOJ 3878 Convert QWERTY to Dvorak

    题目传送门 /* 模拟:手敲map一一映射,累! 除了忘记读入字符串不能用gets用getline外还是很顺利的AC了:) */ #include <cstdio> #include &l ...

  7. Revit二次开发示例:ErrorHandling

    本示例介绍了Revit的错误处理.   #region Namespaces using System; using System.Collections.Generic; using Autodes ...

  8. Gap

    Gap Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  9. Piggy-Bank[HDU1114]

    Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. lua 循环

    x= while i<x do print(x) i=i+ end then local x x = ) else print(x) end print(x)