当前位置:首页 > 群晖 > Calibre > 正文内容

将 AZW3 格式转换为 MOBI 格式并保持原有排版格式

zyhwxm3年前 (2022-02-11)Calibre82

小伙伴多次向 Kindle 伴侣提出一个问题,那就是通过 Calibre 将排版精美的 azw3 格式电子书转换成 mobi 格式后推送到 Kindle,排版格式会发生很大的变化,比如行距过窄、内嵌字体丢失等等。

这是因为 azw3 格式是 KF8 标准的 Kindle 电子书(也可以说是 mobi8 格式),由于支持丰富的 CSS 样式才有了丰富的排版效果。但是要是转换成老的 mobi7 格式,排版效果就会消失。如果用 Calibre 转换格式时,在转换设置的"MOBI 输出"选项里把"MOBI文件类型"选成了 old 就会转换成 mobi7 格式。

有没有方法避免这种情况呢?答案当然是肯定的。下面为小伙伴们提供了三种方法。

方法一:用 Kindle Previewer 3 转换成 MOBI(推荐)

Kindle Previewer 3 是亚马逊官方推出的一款电子书预览工具,其中的导出功能支持将 .azw3 格式转换为 .mobi 格式(支持的其它格式还有:.epub.mobi.htm.html.xhtml.opf.kpf.doc.docx)。

下载、安装并打开 Kindle Previewer 3,将电子书文件拖放到窗口的虚线框区域(或通过菜单栏中的【文件 > 打开电子书】)打开电子书,然后点击菜单栏中的【文件 > 导出】,文件格式选择"电子书(.mobi)",并选择存放位置进行导出。得到的电子书文件就是 KF8 标准的 MOBI 格式电子书了。

* 注意,此方法本质上是使用 KindleGen 转换的 MOBI 格式文件,所以默认会包含源文件,从而导致转换后的文件比转换前的文件大一倍多。如果想避免此情况,可以使用 KindleStrip 这个小软件将其处理一下,获取精简的 MOBI 文件。或者直接使用"方法二",在使用 KindleGen 命令时添加参数 -dont_append_source 来禁止在转换的过程中附加源文件。

方法二:用 KindleGen 将源文件再转换成 MOBI

其实此方法与方法一是同一性质,因为 Kindle Previwer 3 实际上也是利用 KindleGen 转换格式的。

此方法的思路是,首先用 KindleUnpack azw3 文件拆解成源文件,然后再用亚马逊官方的转换软件 KindleGen 把源文件转换成 MOBI 格式。因为 KindleGen 这款转换软件是亚马逊官方提供的,所以生成的 MOBI 文件排版和 AZW3 是一模一样的。下面是具体步骤。

1、准备相关软件

注意,KindleGen 是命令行工具,Windows 版需要在"命令提示符"中使用,macOS Linux 版本需要在"终端"上使用。对于 macOS 来说,如果不喜欢用终端,也可以下载带 UI 界面的版本。

2、拆解 AZW3 文件

先使用 KindleUnpack AZW3 格式电子书文件拆解成源文件。拆解完毕后会在电子书所在目录下生成一个同名文件夹。在这个文件夹中的 mobi8 文件夹里可以找到两种源文件,一种是 EPUB 格式,另一种是存放在 OEBPS 文件夹中的 OPF 格式,你可以任选其一作为转换成 MOBI 格式的源文件。

电子书名/mobi8/电子书名.epub

电子书名/mobi8/OEBPS/content.opf

* 注意,"电子书名"是指拆解的那本电子书的真实电子书名。

3、转换成 MOBI

最后使用 KindleGen EPUB 格式或 OPF 格式转换成 MOBI 格式。如果使用命令行模式,可以输入以下任一命令进行转换。注意如果命令行当前目录和源文件不在同一目录,需要使用绝对路径。

kindlegen 电子书名/mobi8/电子书名.epub

kindlegen 电子书名/mobi8/OEBPS/content.opf

如果嫌命令提示符麻烦,也可以使用更简单的转换步骤,具体步骤如下:

  • Windows 系统:把源文件直接拖放到 kindlegen.exe 文件上进行转换。
  • Mac OS X 系统:把源文件直接拖放到打开的 UI KindleGen 上进行转换。

转换完成后,在源文件所在的文件夹即可得到最终的 MOBI 格式文件。

* 注意,使用 KindleGen 转换 MOBI 默认会包含源文件,所以会比较大,可以使用 KindleStrip 这个小软件将其处理一下,即可得到精简的 MOBI 文件。使用命令行的,也可以通过添加 -dont_append_source 参数阻止附带源文件。

方法三:直接使用 Calibre 转换成 MOBI

使用 Calibre 也可以直接把 AZW3 格式转换成 MOBI 格式,也是最简单的一种方法。但是需要注意的是,由于 Calibre 转换的 MOBI 所使用的是 Calibre 的私有算法,和亚马逊官方的算法还是有差别的,所以转换出的 MOBI 文件还是会改变一点点排版。最直观的变化是边距比 KindleGen 转换的要大一些。

1、准备相关软件

Calibre 下载https://bookfere.com/tools#calibre

2、转换成 MOBI

点击【确定】并等待转换完毕。最后得到的 MOBI 文件可以保留和 AZW3 格式较为一致的排版。

用以上两种方法转换的 MOBI 格式可以在不同程度上保持电子书原有排版。如果在过程中遇到任何问题请留言提出。另外如果您有更好的方法也请留言分享。

相关文章

群晖NAS中calibre-web的豆瓣元数据获取

群晖NAS中calibre-web的豆瓣元数据获取

最近在NAS系统中使用Docker容器calibre-web搭建了自己的个人图书馆,在获取图书元数据的时候发现豆瓣源API已经失效了,网上提供的apikey都已经不能用了。豆瓣网页上基本也是防爬虫的,只有少部分网页没有做防爬处理,不过也是有...

把 TXT 文档转换成带目录的 MOBI 格式电子书

把 TXT 文档转换成带目录的 MOBI 格式电子书

如果你喜欢看小说,对 TXT 文档应该不陌生,但是如果直接将下载到的 TXT 文档转换成 mobi 格式放到 Kindle 中阅读,就会出现一个问题——缺少目录,你不得不线性阅读不敢跳页,很不方便,那有没有一种有效的方法可以把 TXT 转换...

Calibre 使用教程之为 Kindle 电子书添加页码

Calibre 使用教程之为 Kindle 电子书添加页码

在书伴发布《如何理解 Kindle 电子书的"位置号"和"页码"》这篇文章后,昵称为 ZJG 的小伙伴在微信公众号中留言指出 Calibre 是支持为 kindle 电子书添加"页码"的,并将具体的实现方法投稿给了书伴,在此感谢这位小伙伴的...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。