如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题 – 书伴 您所在的位置:网站首页 kindle字体默认大小 如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题 – 书伴

如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题 – 书伴

2023-07-24 21:25| 来源: 网络整理| 查看: 265

如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题

一段时间以来,亚马逊为 Kindle 添加了一个给小伙伴们添堵的功能,那就是,把通过 USB 拷贝到 Kindle 的电子书封面/缩略图显示成了带有“暂无图片”字样的图片占位符。

▲ 左侧为刚放入电子书时的封面效果,右侧为联网后被自动替换的封面效果

以往仅显示带电子书名的占位符图片,虽然没有封面那样美观,但至少能让人分辨是哪一本书,而新占位图片的意图简直是故意恶心用户。问题是,电子书被替换成“暂无图片”怎么办?

目录 一、问题分析 二、被动修复 1、手动修复被替换的封面图片 2、自动修复被替换的封面图片 三、主动预防 1、为电子书文件指定真实 ASIN 2、禁止 Kindle 检查电子书封面 3、让 Kindle 从电子书读取封面

本文尝试从根源上对传输到 Kindle 的电子书封面被替换成“暂无图片”的问题进行分析,并给出了两种解决方案。你可以根据问题的分析手动进行修复,也可以通过书伴提供软件自动修复。

一、问题分析

Kindle 电子书有多种类型,它们被标记在电子书文件的 EXTH 信息头[1]中,即类型为 501 名为 CDE Type 的记录。该记录常见的值有 PDOC(代表个人文档)、EBOK(代表电子书)及 EBSP(代表电子书样章)。你可以使用工具(如 Mobi Metadata Editor)查看电子书文件 EXTH 信息头,通过这个记录来确认某本电子书是属于哪种类型。

通常,我们通过 KindleGen 转换成 MOBI 格式的电子书文件,以及邮箱推送到 Kindle 个人文档服务的文件会被标记为 PDOC,从 Kindle 电子书商店购买的电子书、或通过 Calibre 转换的 AZW3 电子书格式会被标记为 EBOK,而向 Kindle 发送的电子书样章会被标记为 EBSP。

对于不同的电子书类型,Kindle 可能会采用不同的处理机制,比如本文讨论的封面被替换成“暂无图片”图片占位符的问题,就是针对标记为 EBOK 的电子书文件的。当这种类型的电子书放入 Kindle 设备中,一旦联网,Kindle 在确认是 EBOK 类型的电子书文件后,就会尝试读取另一个类型为 113(或 504)名为 ASIN[2] 的记录,一旦发现该记录的值与亚马逊商品的唯一识别码不匹配,该电子书的封面就会被替换成带有“暂无图片”字样的图片占位符。

原因找到了,解决方案出来了。一种是被动修复,先让亚马逊替换封面,然后再修复这些被替换的封面。还有一种是主动防御,可以直接删掉电子书的 EBOK 记录,让 Kindle 忽略封面检查,使其显示带标题的图片占位符,也可以将 ASIN 更改成任一真实存在于 Kindle 商店的 ASIN,以达到欺骗 Kindle 使其抓取与该 ASIN 相对应电子书的封面图片的目的。

二、被动修复

这种解决方式是等待 Kindle 将拷贝进去的电子书封面全部替换成“暂无图片”后,再通过找到这些图片所存放的位置,将其还原成电子书原有的封面图片。修复效果如下所示。

1、手动修复被替换的封面图片

当 Kindle 成功为电子书从亚马逊服务器抓取封面图片后,会存放到 Kindle 根目录下的 system/thumbnails 文件夹中,封面图片有着类似下面这样的文件名:

thumbnail_B00A72WGE4_EBOK_portrait.jpg

从中可以看出,该文件名除了 .jpg 扩展名外,是由三个下划线 _ 连起来的四个部分,分别是 thumbnail、B00A72WGE4、EBOK 以及 portrait,这四部分除了 ASIN 外都是相同的,Kindle 也是通过这个 ASIN 为相应的电子书显示该封面的。如果 Kindle 没有在亚马逊服务器找到这个 ASIN,就会将此封面图片文件替换成如下所示的封面图片:

由于 Kindle 只会为新拷贝的电子书从亚马逊服务器拉取一次封面图片,因此你可以在电子书的封面全都变成“暂无图片”后,再重新恢复与该电子书的 ASIN 相对应的封面图片。

具体方法为,先用 Mobi Metadata Editor 通过检查 113(或 504)记录类型,得到电子书的 ASIN,然后在 Kindle 根目录的 system/thumbnails 文件夹中找到含有此 ASIN 的图片文件,接着用 Calibre 等工具将电子书的封面提取出来,最后将提取出来的封面图片文件重命名成那个带 ASIN 图片的文件名,并对其进行替换,就可以恢复此电子书的封面了。

▲ 左侧为联网后封面被自动替换的效果,右侧为电子书封面被修复后的效果

2、自动修复被替换的封面图片

书伴为小伙伴们编写了一个小软件,将上面提到的封面还原过程自动化。该软件会在封面图片存放路径检查小于 2KB 的封面图片,然后从与其对应的电子书中提取封面图片进行还原。

如果你的 Kindle 已经越狱,还可以下载使用该软件的插件版。插件版除了能够修复显示暂无图片的电子书封面,还能修复推送 EPUB 格式电子书不显示封面的问题。

软件的下载及使用方法请参考《Fix Kindle Ebook Cover:Kindle 电子书封面修复工具》。

三、主动防御

如果你感觉上面那种封面修复方式过于被动,也可以采用下面介绍的两种主动修复方式。主要是通过修改电子书文件 EXTH 信息头中 501、113、504 这三个记录类型来实现。

这里要用到名为 Mobi Metadata Editor 的小工具,其具体用法可参考《如何用 Mobi Metadata Editor 修改 Kindle 电子书元数据》这篇文章。注意,该工具无法选择扩展名为 .azw3 的电子书文件,你可以先将其扩展名更改成 .mobi,修改后再改回 .azw3 即可。

1、为电子书文件指定真实 ASIN

如果你想要让 Kindle 为电子书获取正确的封面图片,需要保持 501 类型记录的值为 EBOK 不变,仅更改电子书文件的 ASIN 记录,将其值更改成真实存在任意区域亚马逊 Kindle 电子书商店的电子书的 ASIN,这样 Kindle 就会将商店中电子书的封面拉取下来给本地的电子书使用。

中亚 Kindle 电子书商店:https://www.amazon.cn/kindlestore 美亚 Kindle 电子书商店:https://www.amazon.com/kindlestore

注意,电子书文件的 ASIN 记录可能同时存在于 113 和 504 这两个记录类型中,两者至少保留一个才能生效,如果对两者同时存在,Kindle 会优先使用 504 的值。

2、禁止 Kindle 检查电子书封面

如果你不在意电子书是否显示封面图片,可以接受仅带图书标题的图片占位符,则可以直接删掉 501 记录类型。这做法都可以禁止让 Kindle 为该电子书检查封面图片。

3、让 Kindle 从电子书读取封面

对于标记为个人文档的 MOBI 格式电子书,Kindle 会直接从电子书中读取封面,而不会去亚马逊服务器上对比 ASIN。因此可以先将电子书文件的扩展名从 .azw3 更改为 .mobi(如果原来不是此格式的话),然后将电子书的 501 记录类型值从 EBOK 改为 PDOC。

[1] MobileRead 的 WiKi 页面有关 MOBI 格式的介绍 via [2] ASIN(Amazon Standard Identification Number)是亚马逊商品的唯一识别码,由十位字符字母数字组成。via

© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/986.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有