【www.shanpow.com--简历下载】
第一篇kindlegen:官方转换工具 Kindle Previewer 和 KindleGen – Kindle伴侣
目录
一、Kindle Previewer – 适用于初级用户二、KindleGen – 适用于高级用户1、适用于 Windows (XP, Vista, 7, 8) 的 KindleGen2、适用于 Mac OS 10.5 和 i386 以上版本的 KindleGen3、适用于 Linux 2.6 i386 的 KindleGen
亚马逊官方提供了两种电子书转换工具,一个是 Kindle Previewer,带 UI 易操作,适用于初级用户,还有一种是 KindleGen,无 UI 是命令行形式,适用于高级用户,其实 Kindle Previewer 也是调用 KindleGen 进行转换的。小伙伴们可以按照自己的需求选择使用。
和另一款电子书格式转换软件 Calibre 相比,亚马逊提供的转换工具有一个显著的优点,那就是不破坏原有的排版格式,比如一个排版精良的 azw3 格式电子书通过 Calibre 转换后通常会破坏掉原有的排版,如行距变小、内嵌字体丢失等,所以为避免这个问题可以这样做可以先通过 Calibre 将 azw3 转换成 epub 格式(因为这两款软件都不支持直接将 azw3 转换成 mobi),然后在通过这两款软件的任何一个将 epub 格式转换成 mobi,这样就可以保持原有排版风格了。
一、Kindle Previewer – 适用于初级用户
Kindle Previewer 是一个模拟 Kindle 设备和应用程序显示书籍内容的使用界面工具。是亚马逊官方开发的一款kindle系列产品模拟器,可以模拟出kindle系列产品的功能。当然也可以用来阅读.mobi等专有格式的电子书,还可以对部分电子书格式进行格式的转换。
1、Kindle Previewer 软件下载
http://kindlefere.com/tools#Kindle_Previewer
2、Kindle Previewer 使用步骤
下载 Kindle Previewer 并安装;
安装完成后,打开 Kindle Previewer,单击“Open book”;
选择 EPUB/HTML/OPF 文档,按照向导指示转换电子书并进行预览;
转换成功的电子书扩展名为“.mobi”,位于与源 HTML/EPUB 相同的文件夹中带有“Compiled-”文件名的文件夹之下。
二、KindleGen – 适用于高级用户
KindleGen 是一个免费的命令行工具,也是亚马逊唯一官方支持的文件转换工具,可通过它把 HTML、XHTML 或 IDPF 2.0 格式(带有 XML.opf 描述文件的 HTML 内容文件)的源文件创建为 Kindle 电子图书。高级用户可以使用命令行工具将 EPUB/HTML 转换为 Kindle 电子书。 您可以在 Windows、Mac 和 Linux 平台上使用此界面。此工具可用于自动批量转换。
1、KindleGen 软件下载
http://kindlefere.com/tools#KindleGen
2、KindleGen 使用步骤:
● 适用于 Windows (XP, Vista, 7, 8) 的 KindleGen
下载 KindleGen 并解压缩到 c:\KindleGen。
通过选择 Start menu(开始菜单)> All Programs(所有程序)> Accessories(附件)> Command Prompt(命令提示符),打开一个命令提示符。
输入 c:\KindleGen\kindlegen。 系统将显示如何运行 KindleGen 的指导。
转换示例:要转换一个名为 book.html 的文件,请进入书所在的目录文件,例如 cd desktop,然后输入 c:\KindleGen\kindlegen book.html。 如果转换成功,一个名为 book.mobi 的新文件将显示在桌面。
请注意:我们建议您遵循这些步骤运行 KindleGen。 双击 KindleGen 图标不能打开此程序。运行上述命令时不带引号。 如果您将某个文件拖至 kindlegen 可执行文件,该工具将为您转换文件,但是您无法获得输出日志,因此,我们不推荐此操作。
● 适用于 Mac OS 10.5 和 i386 以上版本的 KindleGen
下载 KindleGen 并解压缩。
在“应用程序”中找到并运行 Terminal(终端)。
要查看如何运行 KindleGen 的指导,将解压后的 kindlegen 程序拖放到 Terminal(终端)窗口中并按 Enter(输入)即可查看指导。也可以通过在终端输入命令 cd ~/Downloads/KindleGen_Mac_i386_v2,然后输入命令 kindlegen,以查看指导。
转换示例:要转换名为 book.epub 的文件,先打开 Terminal(终端),然后将 kindlegen 程序拖放到 Terminal(终端)窗口,然后再把 book.epub 文件拖放到 Terminal(终端)窗口,最后按 Enter(回车)即可开始进行转换。如果转换成功,将会在源文件所在目录生成一个名为 book.mobi 的新文件。
● 适用于 Linux 2.6 i386 的 KindleGen
下载 KindleGen 至一个文件夹,例如主目录中的 Kindlegen (~/KindleGen)。
解压文件的内容至 ‘~/KindleGen’。打开终端,使用命令“cd ~/KindleGen”移至包含下载文件的文件夹,然后使用命令“tar xvfz kindlegen_linux_2.6_i386_v2.tar.gz”解压内容。
打开终端应用程序,并输入 ~/KindleGen/kindlegen。 系统将显示如何运行 KindleGen 的指导。
转换示例:要转换一个名为 book.html 的文件,请进入书所在的目录文件,例如 cd desktop,然后输入 ~/KindleGen/kindlegen book.html。如果转换成功,一个名为 book.mobi 的新文件将显示在桌面。
3、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 -dont_append_source xxx.opf
4、关于 kindlegen 生成的 mobi 文件
使用 kindlegen 的默认设置生成的 mobi 文件主要包含四部分:
一部分为 MOBI7(azw) 专属文件(html 主文件,内容相关的 opf 文档及目录相关的 ncx 文档);
一部分为 KF8(azw3) 专属文件(典型的 epub 文件树,包含 css 样式表);
一部分为 mobi7 和 KF8 格式共用的图片池,包含了所有 html/xhtml 文件链接的图片文件;
最后一部分是转换前的源文件的打包存档(仅供调试之用,推送时不会看到),大小和转换前的 epub 文件相同,这部分对于阅读纯属冗余项,清除对阅读无丝毫影响,kindlestrip 的作用就是将 kindlegen 生成的 mobi 中这部分删除,以求更小的文件体积。
图片池部分有可选的附属部分 —— HD 图片池。当源文件中含大小超过 127KB 的图片时 kindlegen 会自动压缩图片至 127KB 以下(儿童电子书的图片大小为 255KB,这是亚马逊电子书标准所规定的图片体积上限),同时将原图保存在 HD 图片池中(但如果原图超过 2MB 的话还是会压缩至 2MB 以下,2MB 是亚马逊电子书标准中 HD 图片的大小上限)。
云端服务器会识别接收设备,将原始 mobi 文件切分后推送。kindle3 及之前的设备推送 MOBI7(azw) 文件;kindle4 之后的设备推送 KF8(azw3) 文件。MOBI7 格式较简陋,对设备性能要求较低,KF8 格式则更先进,基本支持了 epub 的各个特性,有独立的样式表使得排版更好。这两个文件共同之处在于都使用压缩后的普通图片池以适应电子墨水屏的阅读。而 HD 图片池将在推送至 kindlefire hdx 这样的高清屏设备时,再添加进推送的电子书文件中,以获得更佳的阅读效果。KindleUnpack 中的 HD image 选项正是用 HD 图片(若是有的话)替换压缩后的图片,生成的 epub 中的图片更高清。via
第二篇kindlegen:全网首发吐血攻略:制作和压缩无损MOBI!全套解决方案!
背景和意义:嫌麻烦可以略过背景和意义 看标题可能很多人不明白我要干啥,到底要解决什么问题。简单解释一下: 爱用Kindle的,一定对于推送爱不释手,但是推送有限制,一是必须MOBI格式,二是不能大于50M。 对于格式要求来说,MOBI的书不少,但是无损的几乎没有。什么是有损?就是排版与正版有变化,目录损失二级结构变成平直的了。这对于单本书无所谓,对于套装和丛书来说,很要命!大家应该有这种体会吧,光目录就老长老长的,非常影响套装的收藏价值!所以这里面就有个如何转化成无损MOBI的问题。 对于大小,一旦超过50M,对于推送,几乎判了死刑,其实这里面是可以压缩的,知道这点的不多。 关于无损转化,知道用Kindlegen的可能不多,而会批处理的就更少了;对于压缩,知道用kindlestrip更是凤毛麟角!而且网上能看到的kindlestrip的攻略还需要安装一个环境,很麻烦。难道可以不安装这个环境?kindlestrip也能批处理吗?YES!没错! 以上这些技巧在网上极为分散,能够一帖教会大家用Kindlegen转化+kindlestrip压缩,且kindlestrip不需要安装环境,且都是批处理的,没有!而我更进一步,把两个步骤合二为一的,仅此一家! 还有一个问题,就是Kindlegen的转化成功率。不是所有的EPUB都能用Kindlegen转化成功!!我的个人体会是,转化成功率只有6成左右。网上提到Kindlegen的,都没有提到的一点!(不提的原因可能是不知道怎么办)怎么办?有没有办法?对不起,网上也没有确切答案!本帖将第一次给予确切解决方案!仅此一家! 这些经验都是我大量研究的结果,别处很难见到!能够极大改善大家的阅读体验和提升书籍质量,收藏党、推送党、套装党必备!原理和步骤:以下必看 转化格式大家用的基本都是calibre,但是它转化生成的MOBI文件是有损的,目录平直化了。其实亚马逊官方有个小工具叫做Kindlegen,可以把epub文件无损转化为MOBI文件。转化后的MOBI文件体积会变大,里面其实是有冗余文件的,可以压缩。这里面要用到一个工具:kindlestrip。 我的独家方案一部到位了,把两个工具合在一起,都可以批处理,不用安装多余的环境,纯绿色,解压后就可以用! 步骤如下: 1、下载解压,把Kindle job文件夹复制到D盘根目录下,如果非要放在其他路径,请先修改epub2mobi.bat文件。修改方法:先更名为epub2mobi.txt,记事本打开,修改以下两句: set mobidir=D:\Kindle job set path=D:\Kindle job\kindlegen_win32_v2_9 这是你Kindle job文件夹的路径,根据你的需要更改,必须和你电脑上的路径一致。然后再更名回.bat文件。 2、无损转化:把要转化的EPUB文件一次性复制到Kindle job文件夹下,点击epub2mobi.bat文件,等待完成。 3、体积压缩:体积小于50M的MOBI文件可以直接推送了,如果大于50M,请压缩。压缩方法:修改它的文件名为纯数字或英文,一次性复制到temp文件夹下,点击auto.bat,等待完成。压缩后的文件在result文件夹下。 4、如果转化失败,请参看转换失败的修正攻略.txt 关于转化失败:其实kindlegen的转化成功率只有60%左右,关于失败原因和解决方法,基本上找不到。我通过大量实践解决了这个问题,解决方法在压缩包里面,是个TXT文件。剧透一下:都是目录惹的祸!!! 好了!尽情享受完美MOBI带来的愉悦感受吧!!此贴不火,痛哭流涕!
第三篇kindlegen:【原创】【Kindle RSS推送】不再依赖Google Reader...
http://blog.williamgates.net/2013/04/kindle-reader-without-google-reader/
Kindle Reader(https://github.com/jiedan/kindlereader/)是一个自动将Google Reader内容生成mobi文件并通过邮件发送至kindle的工具,由jieban开发。由于Google Reader即将关闭,所以我对其进行了一些修改,让程序从配置文件读取RSS地址并直接访问内容,不通过Google Reader的API,从而不再依赖Google的服务。
感谢jieban迅速接受了我的Pull Request,本文中的程序已经被合并到主分支。欢迎有兴趣的朋友到Github的Kindle Reader项目(https://github.com/jiedan/kindlereader)去观看代码并给出意见(本人fork出来的repository在此https://github.com/williamgateszhao/kindlereader/)。
多用户版正在开发,将免费提供公开服务,不再需要用户自行运行程序,类似于狗耳朵、kindle4rss等。即将推出。
更新历史
0.6.5 修正一个当rss中author为空时的隐蔽错误;修正运行目录不能含有空格的错误;修改模板,在正文界面显示来源和作者;停止为多用户版进一步重构,代码与多用户版开始区分
0.6.4 修正win下的路径错误;修正目录页的内容摘要(过滤html标签);更换BeautifulSoup版本
0.6.3 新增时区选项,所有可见的日期显示均根据用户选择的时区(默认为+8);新增灰度图选项,在生成mobi前将图片转为灰度图,减小文件体积(默认关闭);允许用户选择是否启用kindlestrip
0.6.2 修改mobi文件标题,现在periodical格式在原生系统能自动归档了(但两个文件为同一天的,会将较新的文件归档,目前无法解决)
0.6.1 修复一些问题;尝试处理一些不合规范的时间信息;在所有文章信息中均使用utc时间
0.6.0 对feed读取也采取了多线程,大幅度提高速度;重构代码,为开发多用户版做准备
0.4.9 增加强制全文输出的功能,使用fivefilters.org,为了避开该站点免费用户每次只能输出3篇文章的限制,尝试将每篇文章单独发给该站点进行解析
0.4.8 不再需要安装feedparser库,Python 2.7环境可以直接使用本程序
0.4.7 优化feed读取和图片下载流程,下载失败自动进行重试;修复了对不提供发布时间的RSS格式支持
0.4.6 修复了对图片URL中含有非ASCII字符的支持,并加强了下载图片的效率和适应性
0.4.5 修复了对不提供author或content节点的RSS格式支持
0.4.4 引入Kindlestrip,大幅度压缩了生成mobi文件的大小(一般小于原先的50%);打包了exe文件,使得NoGR分支可以在windows不依赖Python环境运行,对普通用户更加友好
0.4.3 修复了不会自动退出的BUG;修复了对”/”结尾Feed地址处理的BUG
0.4.2 修复了某些feed地址必须以”/”结尾或反之所导致的问题,对feed是否读取成功进行判断
0.4.1 增加限制最旧文章时间的功能;修改了日期格式
0.4.0 it works
主要功能
保留原有的读取内容、生成mobi文件并发送到任意邮箱的功能
相比著名推送服务如kindle4rss、狗耳朵等来说,通过本程序自建服务可以让mobi包含图片,不受任何流量和频率限制
不再依赖google reader提供feed地址和内容,直接从配置文件读取feed地址并访问网站获取内容
通过引入kindlestrip,大幅度缩小了生成的mobi文件大小,以方便通过邮件的推送
Windows用户使用方法(很简单)
1、下载最新版本v0.6.5(https://github.com/williamgateszhao/kindlereader/archive/v0.6.5.zip)
2、解压缩后,只需保留kindlereader.exe和config.sample.ini两个文件,放在任意目录,其他文件都不需要
3、如果你使用的系统是WindowsXP,那么你需要安装Microsoft Visual C++ 2008 Redistributable Package(http://www.microsoft.com/en-us/download/details.aspx?id=29)
4、将config.sample.ini改名为config.ini,并修改其中的内容,具体可以看文件中的注释,主要要改的选项是:
kindle_format,默认为book,如果你想要类似于狗耳朵那样的杂志形式,请改为periodical(只对官方系统有效)
max_items_number,每个RSS源最多读取多少篇文章,建议不要太多
max_image_per_article,每篇文章最多下载多少图片,由于上述的技术更新,本程序生成的文件不再动辄十几M,所以这里多一些也没问题
max_old_date,不读取早于N天前的文章,一般与你多少天运行一次本程序相等,以免看到重复的文章
mail_enable,如果需要程序自动将生成的mobi文件发送到kindle,需要将此项设为1
to,一般是@free.kindle.com或@iduokan.com的邮箱,根据你使用系统的不同来决定
username,你的邮箱(发信用,不是收信的iduokan或kindle邮箱)用户名,如果不使用gmail发信,请相应修改host、port、ssl等选项来符合你的smtp服务器(如QQ邮箱是host=smtp.qq.com,port=25,ssl=0)
password,你的邮箱密码,如果不愿意将主要邮箱的密码明文写在配置文件中,可以单独注册一个邮箱专门用于发送
feed1,feed2等都是你需要读取的RSS源地址,比如订阅果壳网,就写成feed1=www.guokr.com/rss/,每个feed结尾的数字不能重复,即必须是feed1、feed2、feed3这样编写下去,总量不限
5、下载亚马逊官方的mobi生成工具kindlegen(http://s3.amazonaws.com/kindlegen/kindlegen_win32_v2_8.zip),解压后只需要kindlegen.exe一个文件,跟kindlereader.exe和config.ini放在同一个目录下
6、运行kindlereader.exe,mobi文件就会自动发送到你设置的邮箱,并被kindle所读取。如果你设置了不发送邮件,可以从当前目录下生成的data目录中找到两个.mobi文件,将较小的那个拷贝到kindle上也可以正常阅读。可以通过计划任务来让程序定期运行
7、如果你的kindlereader.exe一闪而过,说明出错了,请到windows命令行下运行它来查看出错信息
Linux用户使用方法(桌面用户/VPS用户)
1、下载最新版本v0.6.5(https://github.com/williamgateszhao/kindlereader/archive/v0.6.5.zip)
2、解压后,只保留lib目录和kindlereader.py和config.sample.ini两个文件,其他文件都不需要
3、将config.sample.ini改名为config.ini,并修改其中的内容,请参考上一段对windows用户的解释
4、尽量确保你的python版本为2.7,其他版本均未测试。如果默认版本不是2.7,最好单独安装一个,方法可以参考下一段针对虚拟主机用户的说明
5、下载下载亚马逊官方的mobi生成工具kindlegen(http://s3.amazonaws.com/kindlegen/kindlegen_linux_2.6_i386_v2_8.tar.gz),解压后只需要kindlegen一个文件,跟kindlereader.py和config.ini放在同一个目录下
6、运行python kindlereader.py即可,可以通过crontab定期运行,脚本可以参考下一段
Linux用户使用方法(虚拟主机用户,以Hostmonster为例)
1、如果你的系统默认python版本就是2.7(运行python,查看显示的版本),那么使用方法完全和上面桌面/VPS用户一样
2、如果你系统默认的python不是2.7版本,请按照下面的说明安装2.7版本的python
3、修改~/.bash_profile文件,确保文件中有以下内容(如已有某行,不用再写这一行)
PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib/
export PATH
export LD_LIBRARY_PATH
4、安装python
$ wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz
$ tar -xvfz Python-2.7.4.tgz
$ cd Python-2.7.4
$ ./configure --prefix $HOME
$ make install
5、确保kindlereader.py和config.ini、kindlegen和lib目录都存在的情况下,运行~/bin/python kindlereader.py即可
6、可以使用脚本以便cron来运行,假设你的家目录是/home1/xxx/,你将kindlereader.py、kindlegen和config.ini存放在/home1/xxx/kindle/下面,那么写一个kindle.sh放在同一目录下
#!/bin/sh
cd /home1/xxx/kindle/
/home1/xxx/bin/python kindlereader.py
7、在虚拟主机控制面板里的“时钟守护作业”中填入/home1/xxx/kindle/kindle.sh,我选的运行频率是0 15 */3 * *,即每三天运行一次,在主机时间的每天15点。
8、顺便可以再做一个cron任务,用于清理生成的data目录,填入rm -rf /home1/xxx/kindle/data/ 即可,频率和上面一样,但时间要推迟一点,比如0 16 */3 * *
常见问题
想要类似于狗耳朵那样的杂志格式?请设置config.ini里的kindle_format = periodical,在K4和KPW上测试无问题。如果你这样设置还是不能正常显示杂志格式,请将config.ini中的kindlestrip改为0试试看
旧版本用户已经安装了feedparser怎么办?不影响使用,你也可以卸载掉
报错找不到kindlegen?请下载并确保放在同一个目录下
无法用上面的链接直接下载kindlegen?请到这个官方页面(http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211)下载
RSS内容/图片无法读取?多试几次,一般是网络原因,同时请确认你的RSS地址正确
无法在kindle fire或非kindle设备上阅读?可能是因为去除了mobi文件中的KF8格式支持,请将config.ini中的kindlestrip改为0试试看
订阅的feed太多,导致每次运行时间太长?请将config.ini中的thread_numbers改为10或更高,建议不要超过20
VPS等小内存环境,运行时占用内存太多甚至导致系统出错?请将config.ini中的thread_numbers改为2或3
如果上述解答不能解决你的问题,或者你发现BUG,或者你觉得有重要的功能需要添加,请在(http://blog.williamgates.net/2013/04/kindle-reader-without-google-reader/)回复,我不一定一一答复,但都会予以考虑
使用建议
建议放在虚拟主机或VPS上,使得程序定期运行;建议只订阅少量的、精品的、长篇的RSS源,如果壳网、科学松鼠会、译言精选等,新闻性的内容还是更适合用手机和电脑阅读;建议更新频率不要太频繁,我自己设置是3天运行一次,这样我才不会因为积存了很多未读文件而干脆不去读;建议每个feed每次更新内容在5-10篇,总共不超过30篇为宜,过多也会造成阅读懒惰;如果有喜欢的RSS源但网站不输出全文,建议使用fivefilters来制造全文RSS;如果遇到fivefilters不能解决的网站,可以考虑用yahoo pipes进行精确自定义处理。
希望所有的kindle用户都能顺利使用本程序,享受阅读的快乐。

