kindlestrip 是一款精简 mobi 格式电子书的小脚本。使用 KindleGen 或 Kindle Comic Creator、Kindle Previewer 之类的官方电子书转换软件转换的 mobi 格式电子书,使用 KindleUnpack 拆解后可以看到一个压缩文件 kindlegensrc.zip,这就是 mobi 文件内含的源文件存档。
该文档是转换前的源文件的打包存档,仅供调试之用,大小和转换前的 epub 文件相同,几乎占 mobi 文件大小的一多半。如果是个人使用,而不是上传发布到 KDP(Kindle出版服务)包含一份源文件是没有必要的,kindlestrip 的作用就是将 kindlegen 生成的 mobi 中这部分删除以求更小的文件体积,精简后的文件仅仅是去除掉了对于个人用户来说冗余的源文件,对电子书的阅读没有丝毫影响。
一、脚本下载
KindleStrip 是用 Python 语言写成的,所以必须得有 Python 环境的支持。如果你使用的是 Windows 系统且没有安装 Python 的话,请先去 Python 官网下载并安装 Python,再下载本脚本使用。如果您使用的是 Mac OS X 系统,因为系统自带 Python 就不用另外安装了,可直接下载脚本使用。
脚本下载:kindlestrip_v136.py.zip | 脚本发布页下载
另外,如果你的系统是 Mac OS X,也可以运行“终端”运行下面的命令直接安装。
pip install kindlestrip
如果你的系统为 Windows 也可以下载下面这个批处理脚本批量精简 mobi 文件。
批处理脚本:kindlestrip_v136_batch.zip
二、脚本使用
脚本的使用很简单。为了方便说明,下面步骤中的 kindlestrip 和 mobi 文件都是放在同一目录下。
1、Windows 系统
如果你使用的是 Windows 系统,先运行“命令提示符”,先用 cd
命令定位到 kindlestrip 脚本和 mobi 文件所在的目录,然后运行下面的命令。请注意,在这一行命令中,kindlestrip_v136.py 就是下载到的脚本名称;infile.mobi 是精简前的文件名,如果文件名含有空格,请使用单引号或双引号包裹住;outfile.mobi 是精简后的文件名,名字随便起,如果文件名包含空格同样要使用引号。
kindlestrip_v136.py infile.mobi outfile.mobi
如果想要批量精简 mobi 格式电子书文件,请先把下载到的 kindlestrip_v136_batch.zip 文件解压缩,可以看到 temp 和 result 两个文件夹,可以把需要处理的 mobi 格式电子书放到 temp 文件中,然后运行 batch.bat 批处理文件,精简后的 mobi 文件将会存放在 result 文件夹中。
2、Mac OS X 系统
如果你用的是 Mac 系统,并且使用的是下载的脚本,可先运行“终端”,使用 cd
命令定位到 kindlestrip 脚本和 mobi 文件所在的目录,然后运行下面的命令即可。如果文件名包含空格要使用引号
python kindlestrip_v136.py infile.mobi outfile.mobi
如果是使用 pip
命令安装的,则更简单,定位到 mobi 文件所在的目录,直接运行下面的命令即可。
kindlestrip infile.mobi outfile.mobi
三、脚本提示
如果 mobi 文件含有冗余文件,则会出现类似下面的提示:
SRCS section number is: 43
SRCS section count is: 1
SRCS length is: 0x10cfa
done
如果 mobi 文件不含有冗余的源文件,则会显示如下提示:
Error: File doesn't contain the sources section.
三、其他
在使用 KindleGen 生成自制电子书时,可以通过添加一个参数 -dont_append_source
来禁止往生成的 mobi 文件中附加源文件。这样生成的 mobi 文件就不再需要 kindlestrip 来辅助删除冗余源文件了。
具体命令如下所示(如果你还不会使用 KindleGen 请点击这里查看具体操作步骤):
kindlegen -dont_append_source xxx.opf
未经允许不得转载:书路 » KindleStrip:大幅精简压缩 mobi 文件体积