AZW3 格式电子书转换为 MOBI 格式保持原有排版格式

前些天写的文章 《让kindle电子书不受DRM禁锢》 中将kindle中的azw3格式电子书去除了DRM,并转换格式为mobi格式,这样就能导入我的 ireader plus 阅读器了。但是这些天发现,用calibre转换的书籍把原有排版格式改变了挺多,所以网上搜索了解决方法,找到文章《将 AZW3 格式转换为 MOBI 格式并保持原有排版格式》^[将 AZW3 格式转换为 MOBI 格式并保持原有排版格式],按照方法尝试,果然最大限度的保留了排版格式,现分享详细操作过程!

本文的方法过程很简单:

  1. 使用专门的工具 KindleUnpack 对电子书文件解包;
  2. 使用 KindleGen 对解包文件进行打包生成mobi电子书文件;

准备工作

操作之前,需要做一些准备工作。操作平台是 macOS 系统,所以下面的操作是针对 macOS的。

azw3格式电子书文件

电子书文件获取方式有多种,可以像 《让kindle电子书不受DRM禁锢》- 获取电子书 中从kindle中获取,也可以是自己撰写的书籍,当然也可以是别人赠予的。

解包工具KindleUnpack

KindleUnpack (原 mobiunpack)是一款用 Python 写成的小程序,它可以用来提取 Kindle 电子书如 mobi、azw3 等格式文件中的 HTML 内容、图像以及元数据文件,并能把这些文件按照 KindleGen 生成电子书的标准和形式放置^[KindleUnpack – 拆解 Kindle 电子书文件的利器]。支持跨平台,有四种版本:

这里使用 支持拖放操作的 AppleScript 版本,下载完成后解压会得到如下的app:

20180912153668507496280.png

亚马逊官方电子书转换工具KindleGen

KindleGen 是一款免费的电子书格式转换工具,需要使用命令行操作,也是亚马逊唯一官方支持的文件转换工具,它可通过它把 HTML、XHTML 或 IDPF 2.0 格式(带有 XML.opf 描述文件的 HTML 内容文件)的源文件创建为适合 Kindle 阅读的电子书格式^[亚马逊官方电子书转换工具KindleGen]。

支持三大平台,但有人制作了macOS下的图形界面的版本:Mac OS X 版(v2.9 带界面),下载后解压得到:

20180912153668453011199.png

电子书解包

解包非常简单,只需要将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,会看到如下窗口:

20180912153668574549309.png

窗口提示拖拽文件到窗口中进行处理,待拖拽的文件有两种选择:

  • mobi8 目录下的 epub 格式文件,如上面操作的到的 Flask Web 开发实战.epub
  • mobi8/OEBPS 目录下的 content.opf 文件;

拖拽上面任意一个文件到窗口中等待一段时间后均能得到转换后的mobi电子书文件:

20180912153668598068955.png

生成的文件在所拖拽文件的同级目录中,比如拖拽的epub文件,那么mobi文件就在目录 mobi8 中;如果拖拽的 content.opf,那么 mobi 文件就在 mobi8/OEBPS 中。

至此已经完成电子书的转换,导入我的 ireader plus ,果然奏效, ^ ^ !

总结

如果您和小编我一样是强迫症,对格式十分看重,那么本文对您应该是有用的。最后感谢您的阅读,有什么想法要交流的话可以在下面留言!


life

1373 字

2018-09-12 00:20 +0800