为何推送 KF8 标准 MOBI 电子书不显示封面

Kindle 近几次固件更新带来了几个很给力的新功能,比如“字体加粗”和“自定义字体”,但是这些新功能仅支持 KF8 标准的电子书,所以有很多想享用新特性,又喜欢使用亚马逊的“Kindle 个人文档服务”的小伙伴,会特意先把 MOBI 电子书转换成 KF8 标准再推送到云端,这时很多小伙伴就会遇到一个问题,当把 KF8 标准的 MOBI 电子书推送到 Kindle 后,封面却不显示了,这是怎么回事呢?

我们可以简单地把 MOBI 格式电子书分为两种标准。一种是旧标准,可以称之为 MOBI7,此标准只支持简单的 HTML,所以也仅能实现简单的排版,与其类似的格式还有 AZW、MOBI、PRC 等。另一种是新标准,可以称之为 KF8 或 MOBI8,此标准新增了对 CSS 样式表的支持,以及之后亚马逊对此标准的不断扩展,使得电子书有了更加丰富的视觉效果,与其相近的格式还有 AZW3、MOBI、KFX 等。

由于新旧两种标准的 MOBI 格式的后缀名都是 .mobi,通常我们无法仅凭后缀名就能直接看出电子书文件是新标准还是旧标准,但是当我们使用 KindleUnpack 把电子书拆解成源文件后,就会发现旧标准的电子书文件只有一个 mobi7 文件夹,而新标准的电子书文件则会多出一个 mobi8 文件夹。

另外我们还可以通过经亚马逊服务器转换同步到 Kindle 的电子书文件格式来判断你所推送的 MOBI 格式是哪一种标准。如果是旧标准会被自动转换成 AZW 格式,如果是新标准则会被转换成 AZW3 格式。

当我们把新旧两种标准的 MOBI 电子书分别通过邮箱推送云端并同步到 Kindle 后,会发现有不同的变现:旧标准的 MOBI 电子书可以正常显示封面(通过 USB 数据线拷贝则不显示),新标准的 MOBI 电子书却无法正常显示封面(通过 USB 数据线拷贝则显示)。之所以会出现这种情况,很可能是因为 Kindle 设备在读取不同标准的 MOBI 格式电子书时的机制不通导致的,但是更进一步的细节不得而知。

从所能找到的资料和讨论来看,有这样一种说法:正常情况下,Kindle 会通过电子书元数据中的 ASIN(亚马逊标准识别号码)从亚马逊云端拉取与之相对应的电子书封面。但是对于推送到云端的 MOBI 电子书就没有了这种优待,即便你制作(或转换)的 MOBI 电子书的元数据中含有正确的 ASIN,推送到云端后,也会被亚马逊服务器重写成是一串随机字符串,由于在亚马逊云端并没有与被重写的 ASIN 相对应的书目,自然 Kindle 设备也就没办法获取到封面,从而造成不显示封面的情况。

那这个问题有办法解决吗?答案是没有根除方案。因为亚马逊服务器和 Kindle 设备读取封面的机制我们都没有办法改变,除非亚马逊 Kindle 团队着手解决,或有人发现了 Hack 方法,作为用户对此也只能是无可奈何。不过因为这个问题着实让人不爽,还是有人提供了补救方案,虽然比较麻烦也不怎么完美。

补救方案有两种。一种是手动把封面释放出来让 Kindle 读取,可以用 ExtractCoverThumbs 这款软件实现。另一种是更改同步到本地的电子书文件的元数据,将其中被篡改成随机字符串的 ASIN 改成正确的,从而让 Kindle 能正常拉取与之相对应的书目封面,这可以用 MobiMetaEditor 这款软件实现。这两种方案都需要先把推送到云端的电子书同步到 Kindle 本地再把 Kindle 设备连接到电脑进行操作,书伴实测了一下,感觉不太好用,所以不在这里列出两款软件的使用步骤了,感兴趣的可以了解一下。

在此问题得不到有效解决之前,书伴的建议是,对于推送到云端的电子书在 Kindle 中显示封面的问题,可以根据自己的具体需求做一下取舍。如果你觉得为了享受到标注、笔记、页码等同步功能,必须使用个人文档服务,同时还想要电子书有比较好的排版,能使用自定义字体、加粗字体等功能,那就需要忍受不显示封面的缺憾,或把视图更改为列表模式避开封面模式。如果你觉得排版、自定义字体、加粗功能等都是浮云,只要能使用同步功能和显示封面就行,那就把电子书转换成 MOBI7 标准再推送即可。

当然还有个根治的方法,就是反馈给 Kindle 团队,让他们解决这个问题。中亚 Kindle 团队的反馈邮箱是 kindle-feedback@amazon.cn,美亚 Kindle 团队的反馈邮箱是 kindle-feedback@amazon.com。

对本文提到的问题,如果你有比较好的解决方案,欢迎留言分享。

————-

参考资料:

有帮助,[ 捐助本站 ] 或分享给小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 19 条评论

  1. 补充:thumbnail里的图片文件是thumbnail_ASIN_EBOK_portrait.jpg才会显示,我使用的是KPW3 32g版本

  2. 按照楼主的这边文章安装Python27最新版和ExtractCoverThumbs 后把KPW3连接电脑,拷贝一本新书进去,双击gui.pyw,勾选Extract covers from AZW files? Skip generating book page numbers(APNX files)?和Process only younger than days provided: 并在Process··· provided框内置1,choose Kindle后Start,从刚拷贝的书释放thumbnail,根据ASIN在system\thumbnail下找到对应的thumbnail,修改成303*428的尺寸(303貌似是亚马逊联网下载的thumbnail尺寸中固定的,428是比较常见的,感觉比例不错),放回thumbnail文件夹,然后在document文件夹可以删除csv文件,弹出kindle。便可以在看到封面。KPW3下已经把所有封面按照这个尺寸修改并显示。mobi也可用ExtractCoverThumb在kindle上显示Thumbnail。

  3. 通过USB拷贝的azw3文件也都不显示封面,calibre制作的,应该是标准格式吧。

  4. 使用发送到设备的方式,会变成拼音的档名,这种状况有解吗?我知道可以用储存到硬盘的方式,但会没有封面.最后只能手动更改.

    • 因为 Calibre 会强制更改拖放到书库的电子书文件名,并且 Calibre 软件没有相关设置项,所以没有办法让它不更改电子书的文件名。

      个人建议无需在意电子书的文件名在 Kindle 内部是怎样的,因为 Kindle 不会读取文件名,只会读取电子书元数据中的书名,并且在 Kindle 中组织电子书的正确方式是使用“收藏夹”,关于 Kindle 收藏夹的使用可以参考《如何适应用“收藏夹”管理 Kindle 电子书的方式》这篇文章。

  5. 上个星期开始遇到这个问题,很烦人,看个漫画没封面很不爽。不知道亚马逊怎么想的,我自己的个人文档该是什么样就是什么样,不要给我私自乱改东西。格式问题也是,乱七八糟的。

  6. 用calibre将旧mobi转成azw3格式时在页面设置那把设备选成kindle voyage,就可以解决封面问题

    • 亚马逊个人文档服务不支持 AZW3 格式的推送。 如果你指的是通过 USB 拷贝,则不需要转换,不论 MOBI 格式是旧标准还是新标准,用 Calibre 的“发送到设备”把电子书传送到 Kindle 就能直接显示封面。

      • 确实是这样,不过我说的情况是,旧的MOBI格式不支持字体加粗,所以我都会用calibre转成AZW3的格式,但如果转换时设置里选的是非kindle voyage的设备,通过USB拷贝过去后也是没有封面的

        • 用 Calibre 转换的电子书,直接通过 USB 数据线拷贝到 Kindle 可能会不显示封面。

          不过,除了你所说的这个方法,不论 AZW3 也好 MOBI 也好,在 Kindle 连接到电脑的状态下,通过 Calibre 工具栏中的“发送到设备”功能,直接把选中的电子书传送到 Kindle 中,应该都可以显示封面的。因为在传输的过程中,Calibre 会自动把电子书封面释放到 Kindle 的相应位置,从而能让 Kindle 显示该电子书的封面。

  7. 有一个最简单的办法,用Calibre来转换一下,我一直这么干,步骤如下:把电子书导入calibre,然后把原书的封面拷贝出来,放在画图软件里面调成大小为800×600像素然后保存为jpeg,再把原书封面替换成新的封面保存并转换成mobi格式(不用管原格式是什么,即便已经是mobi也无妨),然后推送新的mobi文件即可显示封面。我发现推送时显示不了封面的图书一般都有个超大像素的封面,但替换成800×600的以后就行了,具体原因不明。

    • 转换的 MOBI 格式确认是 KF8 标准吗?如果没有更改输出设置的话,Calibre 默认输出的 MOBI 文件类型是 old,也就是旧标准的 MOBI7 格式。而其它两个类型 both 和 new 一般没有办法成功推送,亚马逊服务器好像不认 Calibre 转换的 KF8 标准 MOBI 文件。

      • 特地看了一下我的Calibre设置,确实是默认转换成old格式的mobi。我这个操作除了替换个封面,其他一概不改。至于更改字体、字体加粗、各种颜色、字体的章节名啥的,俺细个粗银,一概无所谓,所以无所谓转换成KF8或KF7,俺只介意显示不出封面。