【转】将 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 格式后排版被弄乱了,是不是很简单。如果在过程中遇到任何问题请留言提出。另外如果您有更好的方法也请留言分享。

时间: 2024-11-05 14:57:09

【转】将 azw3 格式转换为 mobi 格式并保持原有排版格式的相关文章

使用editcap命令将ERF格式转换为pcap格式

editcap是Wireshark的一个组件,在Windows平台下,只要完成Wireshark的安装,就可以在安装目录中看到editcap.exe.editcap.exe需要在命令行中使用. 对于用Endace DAG捕捉卡捕获的数据包,一般来说,都是erf格式的.ERF格式全称是Extensible Record Format,具体格式参见http://wiki.wireshark.org/ERF.可以看到,这和pcap文件格式是完全不同的,一般来说,ERF格式的文件包含更多的链路层的信息.

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

double ntime=dateTimeToUnixTimestamp(DateTime.Now); long g1 = GetUnixTimestamp(); long g2 = ConvertDateTime2Long(DateTime.Now); public double dateTimeToUnixTimestamp(DateTime datetime) { return (datetime - new DateTime(1970, 1, 1).ToLocalTime()).Tota

将任意格式转换为JSON数据格式的工具类

Java的将任意格式转换为JSON数据格式的工具类 package org.sjw.utils; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.util.List; import java.util.Map; import java.util.Set; public class JsonUtils

YUV格式转换为RGB(基于opencv)

之前写代码过程中需要将YUV格式视频中每帧提取出来,然后保存为图片.网上普遍有两种方法,第一种是通过opencv自带cvCvtColor,但是这种方法有bug,得到的图片会泛白.第二种方法是公式法. 法一:opencv自带cvCvtColor 说明:这种方法会出现图片"泛白",具体原因网上是说cvCvtColor这个函数左右协议不同,不太懂. 代码: void FileWriteFrames(){ char *filename = "E:\\openCV\\zhang\\yu

Java 时间格式转换为:“2014-09-26T11:21:00+8:00”

Java 时间格式转换为:"2014-09-26T11:21:00+8:00" import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) { SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss+

kvm中raw格式转换为qcow2格式节省主机空间

kvm中raw格式转换为qcow2格式节省主机空间 virsh list --all qemu-img  info /data2/fdfs1.img qemu-img convert -f raw -O qcow2 /data2/CDH_003.img /data2/CDH_003.qcow2 virsh edit CDH_003 chown -R   qemu:qemu /data2/CDH_003.qcow2 然后通过vnc图形化界面连接对应的宿主IP,把如下地方打钩 原文地址:http:/

使用thymeleaf框架,前台日期格式是字符串,后台不能以Date格式接收解决

import org.springframework.beans.propertyeditors.CustomDateEditor;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.InitBinder; import java.text.SimpleDateFormat;import java.util.Date; Spring MVC 框架 公共父类

svn 期望文件系统格式在“1”到“4”之间;发现格式“6”

刚安装的SVN,新创建的版本库, 使用svn list svn://192.167.1.81/allProject测试的时候提示以下错误: [[email protected] svn]# svn list svn://192.167.1.81/allProject svn: E160043: Unable to connect to a repository at URL 'svn://192.167.1.81/allProject' svn: E160043: 期望文件系统格式在“1”到“4

如何将Virtualbox虚拟机的vdi的硬盘格式转换成VMware虚拟机可以使用的硬盘格式VMDK

如何将Virtualbox虚拟机的vdi的硬盘格式转换成VMware虚拟机可以使用的硬盘格式VMDK,由于VMware虚拟机的新版本不能使用Virtualbox虚拟机的磁盘格式.要在VMware中使用vdi格式的磁盘,只能在Virtualbox中,先把vdi格式的磁盘转换成vmdk格式的磁盘.   <-->  使用Vboxmanage工具即可完成转换. sudo vboxmanage clonehd XC_XP.vdi /usr/XC_XP.vmdk --format VMDK 0%...10