KindleGen:亚马逊官方 Kindle 电子书格式转换工具
KindleGen 是亚马逊官方提供的电子书格式转换工具,可以将 EPUB、HTML 等格式转换成适用于 Kindle 的 MOBI 格式。亚马逊提供的另一款软件 Kindle Previewer 也带有电子书格式转换功能,其内部也是调用 KindleGen 进行转换的。
KindleGen 支持将 EPUB、HTML、XHTML 格式转换成 MOBI 格式。与 Calibre 等第三方电子书格式转换工具相比,KindleGen 具备显著的优势,不仅可以避免破坏电子书原有的排版,如行距变小、内嵌字体丢失等,由于是官方出品,与 Kindle 设备的兼容性也是最佳的。
一、KindleGen 软件下载
KindleGen 是一款跨平台软件,请下根据自己所使用操作系统选择相应的版本下载:
https://bookfere.com/tools#KindleGen
现在亚马逊官方已停止提供 KindleGen 的下载,你也可以从 Kindle Previewer 软件中提取最新版 KindleGen,目前 macOS 版有 64 位程序,windows 版只有 32 位程序。
二、KindleGen 安装方法
KindleGen 是单文件命令行工具,因此不需要安装,但是为了方便在“终端”或“命令提示符”使用它,建议将其放在适当的位置,并添加到系统环境变量。下面是针对不同操作系统的操作方式:
● Windows 系统
KindleGen 是单文件程序,可直接在“命令提示符”中输入 KindleGen 的绝对路径运行它:
- 下载 KindleGen 并解压缩,取出里面的 kindlegen.exe,放到某个位置,如
C:\KindleGen\kindlegen.exe
。 - 依次点击【开始菜单 → 所有程序 → 附件 → 命令提示符】打开“命令提示符”。
- 在“命令提示符”上输入命令
C:\KindleGen\kindlegen.exe
并回车,将会看到 KindleGen 的帮助内容。
如果你不想要每次都输入长长的绝对路径来运行 KindleGen,可以按照如下步骤将其加入系统的环境变量,这样就可以直接在“命令提示符”中直接输入命令 kindlegen
运行它了:
- 鼠标右键点击“计算机”(或“我的电脑”),然后在弹出的菜单中点击“属性”;
- 接着点击弹出窗口左侧的“高级系统设置”,在弹出的窗口中再点击【环境变量…】;
- 在“系统变量”这一栏找到“变量”为“Path”这一项并双击它,在弹出的窗口中点击【新建(N)】,输入 kindlegen.exe 所在目录,如
C:\KindleGen
,最后一路确定就可以了。
● macOS 系统
和 Windows 系统一样,你可以直接在“命令提示符”中输入 KindleGen 的绝对路径运行它:
- 下载 KindleGen 并解压缩,得到名为 kindlegen 的二进制文件;
- 在“应用程序”中找到并运行“终端”,运行命令
mkdir -p /usr/local/bin && open /usr/local/bin
打开自定义程序目录,并将二进制文件 kindlegen 拷贝到此目录中; - 在“终端”输入命令
/user/local/bin/kindlegen
并回车,将会看到 KindleGen 的帮助内容。
* 提示:如果在运行 kindlegen 命令时出现错误提示“permission denied”,可以运行命令 chmod +x /user/local/bin/kindlegen
为 KindleGen 程序添加执行权限。
如果你不想要每次都输入长长的绝对路径来运行 KindleGen,并且使用的是较新版本的 macOS 系统(大于等于 10.15),一般可以直接输入命令 kindlegen
运行它。如果出现提示 zsh: command not found: ddd
,则需要执行如下命令将 KindleGen 程序所在的路径添加到系统的环境变量:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
如果你使用的 macOS 版本低于 10.15,则需要运行如下命令添加:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
● Linux 系统
- 下载 KindleGen 至一个文件夹,例如用户主目录
/home/YOURNAME
(YOURNAME 要换成真实的系统用户名); - 在终端中使用命令
cd ~
进入下载文件所在的用户主目录,然后使用命令tar xvfz kindlegen_linux_2.6_i386_v2_9.tar.gz
解压文件; - 然后运行命令
cp kindlegen_linux_2.6_i386_v2_9/kindlegen /usr/local/bin
将二进制文件拷贝到自定义可执行程序目录,这样就可以直接在终端中运行 kindlegen 命令了; - 在“终端”输入命令
kindlegen
并回车,将会显示 KindleGen 的帮助内容。
在命令提示符或终端运行 kindlegen
命令,可查看其帮助内容:
*************************************************************
Amazon kindlegen(MAC OSX) V2.9 build 1028-0897292
命令行电子书制作软件
Copyright Amazon.com and its Affiliates 2014
*************************************************************
使用规则:
kindlegen [文件名.opf/.htm/.html/.epub/.zip 或目录] [-c0 或 -c1 或 c2] [-verbose] [-western] [-o <文件名>]
注释:
zip formats are supported for XMDF and FB2 sources
directory formats are supported for XMDF sources
选项:
-c0:不压缩
-c1:标准 DOC 压缩
-c2:Kindle huffdic 压缩
-o :指定输出文件名。输出文件将被创建在与输入文件一样的目录中。 不应该包含目录路径。
-verbose: 在电子书转换过程中提供更多信息
-western:强制创建 Windows-1252 电子书
-releasenotes:显示发行说明
-gif:转换为 GIF 格式的图像(书中没有 JPEG)
-locale : 以选定语言显示消息 ( To display messages in selected language )
en: 英语
de: 德语
fr: 法语
it: 意大利语
es: 西班牙语人
zh: 中文
ja: 日本
pt: 葡萄牙
ru: Russian
nl: Dutch
除了以上所列出的参数之外,KindleGen 还有一个隐藏参数:-dont_append_source
。该参数使得 kindlegen 在生成 mobi 时不再添加源文件到生成的 mobi 文件中,这样可以大大缩减 mobi 的体积,也就不再需要 kindlestrip 来帮助删除 mobi 文件的冗余成分了。具体命令如下所示:
$ kindlegen book.epub -dont_append_source
三、KindleGen 使用方法
KindleGen 是命令行工具,没有图形界面,你需要在“终端”或“命令提示符”中使用它。假设要转换的源文件 book.html 放在桌面上,可按照如下步骤要将其转换成 MOBI 格式。
macOS 或 Linux 系统可以通过如下命令进入待转换文件所在目录:
cd ~/Desktop
Windows 系统可以通过如下命令进入待转换文件所在目录(YOURNAME 替换成真实的系统用户名):
cd C:\Users\YOURNAME\Desktop
然后通过输入如下命令进行转换,注意要把 book.epub 换成实际要转换的电子书文件名(如果没有将 KindleGen 添加到系统环境变量,则需要如前文所说的那样,使用程序的绝对路径来运行它):
kindlegen book.epub -dont_append_source
如果转换成功,将会在被转换文件所在目录看到名为 book.mobi 的新文件。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/92.html
“转换电子书格式”相关阅读
- 如何直接推送 EPUB 格式电子书到 Kindle 邮箱
- 乐书:在线 Kindle 电子书制作和转换工具
- 如何将 AZW3 格式无损转换为 EPUB 格式并保持原有排版
- Calibre 使用教程之转换电子书格式
- Calibre 使用教程之为电子书添加更换字体
- Calibre 使用教程之优化电子书的排版
- Calibre 常用命令行工具详解之 ebook-convert
- Kindle Comic Creator:亚马逊官方漫画转换工具
- Calibre使用教程之为电子书添加或修改封面
- 在 Kindle 中阅读 EPUB 格式电子书的两种有效方法
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
- Kindle Comic Converter:最简单的漫画转换工具
- 亚马逊 Kindle Convert:纸质书无损转换电子书
- EasyPub:把 TXT 文档转成带目录的 MOBI 格式
- 如何将 AZW3 格式无损转换为 MOBI 格式并保持原有排版
请问到这一步了出现这个是什么意思?谢谢!
C:\Users\yangy>cd C:\Users\yangy\Desktop
C:\Users\yangy\Desktop>kindlegen book.epub -dont_append_source
*************************************************************
Amazon kindlegen(Windows) V2.9 build 1029-0897292
命令行电子书制作软件
Copyright Amazon.com and its Affiliates 2014
*************************************************************
信息:I9018:选项:-donotaddsource:不会添加源文件
错误(kindlegen):E30005: 不能打开文件 book.epub
C:\Users\yangy\Desktop>
KindleGen 无法处理这个 EPUB 文件,可能文件是损坏的或存在其他问题。
想问下官方的AZW3是怎么得到的?
如果有 Kindle 设备就可以直接从亚马逊官网下载到 AZW3 格式电子书。
E30005:不能打开文件 <此为未尾目录>
不知道什么原因,也不会用
信息:I9018:选项:-donotaddsource:不会添加源文件
信息(prcgen):I1047: 已添加的元数据dc:Title “哈利·波特全集”
信息(prcgen):I1047: 已添加的元数据dc:Date “2020-12-25”
信息(prcgen):I1047: 已添加的元数据dc:Creator “J.K.罗琳”
信息(prcgen):I1047: 已添加的元数据dc:Creator “苏农 马爱农 马爱新 一目等”
信息(prcgen):I1047: 已添加的元数据dc:Creator “玛丽·格兰普瑞”
信息(prcgen):I1047: 已添加的元数据dc:Publisher “人民文学出版社”
信息(prcgen):I1047: 已添加的元数据dc:Subject “儿童”
信息(prcgen):I1047: 已添加的元数据dc:Type “小说”
信息(prcgen):I1002: 解析文件 0000442
错误(core):E1005: 无法访问文件。
文件中: C:\Users\dyh\AppData\Local\Temp\mbp_7E6_8_11_16_38_38_38E_46D4_D00_1\OEBPS\Text\*::::***::::****::::****::****:::*:*:**::*:*::::::*:*****::*:**.xhtml
转换一半出现这种代码,请问是什么原因
这个是 EPUB 格式吗?你可以试试看能否用 Calibre 或 Sigil 进行编辑,如果不能的话就说明被加密了。
修改后成功了!谢谢!
出现错误,错误(kindlegen):E30005,命令符如下所示(因为不能添加截图)也设置了环境变量,不知道什么原因,望解答,谢谢!
C:\Users\Administrator>cd C:\Users\Administrator\Desktop
C:\Users\Administrator\Desktop>kindlegen book.html -dont_append_source
*************************************************************
Amazon kindlegen(Windows) V2.9 build 0000-kdevbld
命令行电子书制作软件
Copyright Amazon.com and its Affiliates 2015
*************************************************************
信息:I9018:选项:-donotaddsource:不会添加源文件
错误(kindlegen):E30005: 不能打开文件 book.html
命令的运行时没问题的,只是 KindleGen 找不到你要转换的文件。你要转换的是 book.html 这个文件吗,该文件是放在桌面的吗?
文件是放在桌面的,但是名称不是book,我要将book修改成文件实际的名称吗?谢谢!
是的。kindlegen 命令后面应是你要转换电子书文件的路径。如果文件是在桌面,并且你是在桌面所在目录运行的命令,可直接跟文件名。
能不能说的详细点?看不懂啊,mac版本到底怎么安装和运行啊,怎么提取二进制文件,可执行程序目录是什么?怎么运行终端命令?能不能图文并茂?或者来个小视频??????
文中已给出安装和运行 KindleGen 的详细步骤,具体是哪一步出问题了呢?
1.我下载您提供的网盘文件直接就是一个和“终端”一样图标的文件,无法解压,怎么提取二进制文件?
2.二进制文件长啥样啊?是什么格式呀?
3.找到终端怎么运行啊,双击打开吗?还是在程序坞的时候右键终端图标选择“新建命令”然后输入您提供的代码?
4.怎么打开自定义程序目录?是正确打开并输入问题3中的代码后,按回车键或者确定后自动会打开一个Finder窗口吗?
5.在哪里输入安”装步骤3″中的命令,可以看到帮助内容。
6.运行步骤里,在哪里输入命令?是接着问题5看到帮助内容之后,在帮助内容后边输入?还是关闭后再重新打开终端输入?还是像问题3中提到的在程序坞右键选择“新建命令”输入?
7.抱歉,实在是程序小白,搞了一晚上连安装都不知道有没有安装好,无奈提问,希望可以出个视频。抱歉抱歉
如果是从网盘下载的,应该是 KindleGen_Mac_64bit_v2_9.zip 这样一个压缩包文件,解压后得到的 kindlegen 就是二进制文件。所谓二进制文件就是程序本身。
安装过程就是把 kindlegen 这个文件拷贝到 /usr/local/bin 这个目录。接着就可以在终端通过命令
/user/local/bin/kindlegen
运行 KindleGen 了。如果想要在终端直接运行 KindleGen,而不是这种绝对路径的形式,需要将其所在的目录添加到系统的环境变量。添加环境变量的具体步骤是,在终端运行命令
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
。现在,重新打开终端,就可以直接输入kindlegen
运行 KindleGen 了。直接运行
kindlegen
命令或得到帮助信息,要转换电子书文件,需要在kindlegen
后加上要转换的文件路径,比如你把一个名为 test.epub 的 EPUB 文件放到了桌面,就可以运行命令kindlegen ~/Desktop/test.epub -dont_append_source
进行转换。命令选项-dont_append_source
是为了不向转换的文件中附加源文件,缩减文件体积。以上所有的命令都是在“终端”上输入运行的,只有添加环境变量后需要重新启动一下终端。
还有个问题 您说“安装过程就是把 kindlegen 这个文件拷贝到 /usr/local/bin 这个目录” 但 /usr/local/bin 这个目录 在哪里啊,我按您说的在终端输入mkdir -p /usr/local/bin && open /usr/local/bin 之后按回车,没有任何反应呀。
运行命令后应该可以在 Finder 中打开这个目录的。如果没打开,你可以尝试先打开 Finder,然后按 Command + Shift + G 弹出“前往文件夹”对话框,输入 /usr/local/bin 回车就可以打开了。
我用kindlepreview 3文件里的kindlegen转换epub,为什么转换成的mobi用kp3打开提示不支持该文件,该文件是较旧版kindlegen生成?我另一个epub生成的mobi文件就没问题。
Kindle Previewer 3 是可以直接打开 EPUB 格式电子书的。用 KindleGen 2.x 转换的 MOBI 格式电子书,Kindle Previewer 3 应该是可以打开的,你遇到的这种情况,需要测试一下才能确定,可以把 EPUB 文件发送到书伴邮箱 。
epub是正常的,但是kindlegen转换后乱码,无论是在电脑上还是kindle上看都是乱码。
如果 EPUB 中的 HTML 文件没有指定 UTF8 编码就会导致这个问题,解决方法是用 Sigil 打开 EPUB 文件,依次点击菜单【Tools(工具) → Reformat HTML(HTML 重新格式化) → Mend All HTML Files(改进所有 HTML 文件)】,让 Sigil 自动修补所有 HTML 文件,保存,再用 KindleGen 转换就可以了。
站长你好,我用的calibre插件unpack mobi,直接出来的opf用kindle previewer打开都会错误,提示转换失败(conversion failure)
试着用Kindle Previewer来转换kindle comic creator创建的opf文件的漫画电子书,最后出现错误说不能超过650MB,但是前两个月试过转出一个1.95G的电子书也没问题,想请教一下这个错误该如何解决?
用的 Kindle Previewer 是同一个版本吗?
站长您好 我在用kindle previewer转换epub的时候经常转换失败 提示是
Kindle conversion has encountered an internal error while enabling Enhanced Typesetting on this book.
版本是最新的3.6 但是官网说这个Enhanced Typesetting是不支持中文 日文和俄语的 我转的是繁体竖排的古籍 不知道为什么会出现这个问题
如果是不支持中文,也包括繁体中文吧。
可是简体横排的书都是能够用previewer查看的 唯独竖排的不可以。。。。
要转化的文件太大是不是就不行了
转换的快慢这取决于内存的大小。太大的文件处理起来会占用较多系统资源,耗费较长时间。