AZW3 格式电子书转换为 MOBI 格式保持原有排版格式
前些天写的文章 《让kindle电子书不受DRM禁锢》 中将kindle中的azw3格式电子书去除了DRM,并转换格式为mobi格式,这样就能导入我的 ireader plus 阅读器了。但是这些天发现,用calibre转换的书籍把原有排版格式改变了挺多,所以网上搜索了解决方法,找到文章《将 AZW3 格式转换为 MOBI 格式并保持原有排版格式》^[将 AZW3 格式转换为 MOBI 格式并保持原有排版格式],按照方法尝试,果然最大限度的保留了排版格式,现分享详细操作过程!
本文的方法过程很简单:
- 使用专门的工具 KindleUnpack 对电子书文件解包;
- 使用 KindleGen 对解包文件进行打包生成mobi电子书文件;
准备工作
操作之前,需要做一些准备工作。操作平台是 macOS 系统,所以下面的操作是针对 macOS的。
azw3格式电子书文件
电子书文件获取方式有多种,可以像 《让kindle电子书不受DRM禁锢》- 获取电子书 中从kindle中获取,也可以是自己撰写的书籍,当然也可以是别人赠予的。
解包工具KindleUnpack
KindleUnpack (原 mobiunpack)是一款用 Python 写成的小程序,它可以用来提取 Kindle 电子书如 mobi、azw3 等格式文件中的 HTML 内容、图像以及元数据文件,并能把这些文件按照 KindleGen 生成电子书的标准和形式放置^[KindleUnpack – 拆解 Kindle 电子书文件的利器]。支持跨平台,有四种版本:
- 带界面的 pyw 格式 Python 脚本: KindleUnpack-080.zip
- 支持拖放操作的 AppleScript 版本:KindleUnpack v0.80.app.zip
- 仅支持 mobi 文件的单文件脚本:mobiunpack 32.py.zip
- 依附于 Calibre 运行的插件版本:kindle_unpack_v0812_plugin.zip
这里使用 支持拖放操作的 AppleScript 版本,下载完成后解压会得到如下的app:
亚马逊官方电子书转换工具KindleGen
KindleGen 是一款免费的电子书格式转换工具,需要使用命令行操作,也是亚马逊唯一官方支持的文件转换工具,它可通过它把 HTML、XHTML 或 IDPF 2.0 格式(带有 XML.opf 描述文件的 HTML 内容文件)的源文件创建为适合 Kindle 阅读的电子书格式^[亚马逊官方电子书转换工具KindleGen]。
支持三大平台,但有人制作了macOS下的图形界面的版本:Mac OS X 版(v2.9 带界面),下载后解压得到:
电子书解包
解包非常简单,只需要将azw3电子书文件拖拽到上面下载的KindleUnpack上,就会自动解包,最终在电子书文件同级目录下生成以电子书名称命名的文件夹,在里面会得到如下目录层级的内容:
.
├── HDImages
├── mobi7
│ └── Images
│ ...
└── mobi8
├── Flask Web 开发实战.epub
├── META-INF
│ └── container.xml
├── OEBPS
│ ├── Fonts
│ ├── Images
│ │ └── ...
│ ├── Styles
│ │ └── style0001.css
│ ├── Text
│ │ └── ...
│ ├── content.opf
│ └── toc.ncx
└── mimetype
转化电子书
打开解压的到的KindleGen的app,会看到如下窗口:
窗口提示拖拽文件到窗口中进行处理,待拖拽的文件有两种选择:
- mobi8 目录下的 epub 格式文件,如上面操作的到的 Flask Web 开发实战.epub;
- mobi8/OEBPS 目录下的 content.opf 文件;
拖拽上面任意一个文件到窗口中等待一段时间后均能得到转换后的mobi电子书文件:
生成的文件在所拖拽文件的同级目录中,比如拖拽的epub文件,那么mobi文件就在目录 mobi8 中;如果拖拽的 content.opf,那么 mobi 文件就在 mobi8/OEBPS 中。
至此已经完成电子书的转换,导入我的 ireader plus ,果然奏效, ^ ^ !
总结
如果您和小编我一样是强迫症,对格式十分看重,那么本文对您应该是有用的。最后感谢您的阅读,有什么想法要交流的话可以在下面留言!