如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题
一段时间以来,亚马逊为 Kindle 添加了一个给小伙伴们添堵的功能,那就是,把通过 USB 拷贝到 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
延伸阅读
- Kindle Oasis 2017 详评:从硬件软件到使用体验
- Sherry推荐图书(十一)——有关心理疾病
- [每周一书]《一分钟心理咨询》让你积极面对生活困境
- EasyPub:把 TXT 文档转成带目录的 MOBI 格式
- [每周一书]《迷人的材料》走进神奇的材料世界
- 3 万 5 千本中文电子书将陆续登陆美国亚马逊
- [每周一书]《如何学习》一本讲述学习方法的书
- [每周一书] 十四位法官对《洞穴奇案》的判决书
- [每周一书]《破碎的生活》时代动荡中普通人的命运
- 为何我会放弃 iPad mini 而换用 Kindle Paperwhite 阅读
- Kindle使用小技巧之善用搜索功能
- [2015.05.04] Kindle 阅读器系列产品固件升级
- [每周一书]《贪婪的多巴胺》驱动爱、性和创造力
- 书见:自由地上传、整理和导出书摘
- [每周一书] 流行病的科普读物《病毒来袭》
请问书伴我把电子书的数据改成个人文档后,导入Kindle然后又变成电子书了,我应该如何解决这个问题?
完了,更新完以后之前倒入的ebok,我删除重新导入一次,书封面就不显示了。这个很难受。
如果说用send to kindle 服务,发送AZW3 格式或者 EPUB 格式的文件到kindle 可以完美显示嘛? (前提是要转号去美亚)
瞎折腾,把之前完好的封面整没了
我从Z-Library下载的有些书,epub 的格式,转换成AWZ3 之后,还是会显示封面。我不知道原因,但是我查看了参数 标识符:isbn:9787521758399, mobi-asin:4fc6d36a-9a39-46f7-a468-05b21392c2b5
像上述这个,是简体版的,埃隆。马斯克传, 这个没有Kindle版本,美亚只有简体纸质版。
ISBN 这个很好查,douban 就有, 后面那个Mobi-asin : 应该是亚马逊的标识,但实际是不存在的,它这个格式也跟亚马逊的不一样,这个是怎么实现的?
等一波24年6月之后,书店停止运行后,看还会不会再出现暂无图片
我就是书店停止运行后,联网第二天(之前很长一段时间没联网)所有书除了pdf格式的全没封面了,人都傻掉。。。用博主分享的一键修复程序给复原了!
下载桌面版后,一直被360识别为木马,不能打开怎么回事
两种选择,一种是关闭 360 再运行,另一种是安装 Python 运行源文件中的 pyw 脚本。
现在的最新版本还有暂无封面的问题么?
对于元数据中 CDE Type 标记为 EBOK 的电子书,问题仍然存在。
昨天一天试了上述方式的一些方式,都不太方便,最后发现转化为“old”的mobi格式,并且用邮件发送到kindle就能显示封面。或者是AZW3格式用邮件发送到kindle也能显示封面。我的是kindle paperwhite10。
文中提供的方法是解决通过 USB 数据线传输电子书的封面显示问题的。使用亚马逊 Kindle 的 Send to Kindle 服务,从 5.15.1 版本固件开始,不论是通过邮件还是其它方式推送,不论推送的格式是 MOBI 还是 EPUB,都是可以正常显示封面的。
关于方法三补充一点,如果你的图书一开始是在thumb文件夹内有封面的,注意一下原先的封面thumbnail_XXXX_EBOK_portrait,jpg,把ebok也修改成PDOC试试,不然有的书不知道为什么修改过后还是会自动连接服务器搜索封面导致封面破坏
谢谢,越狱Kindle几乎完美了
使用方法3更改501记录类型值,重复了几次都没有修改成功,是还有什么确认修改键吗?
测试了主动防御里的方法二和方法三(确认修改生效的前提下),方法三有效,改成PDOC后不管原书有没有封面都会变成我想要的只显示书名的封面,感觉倒像是原文里方法二的效果;方法二没有成功,不知道原因,确定是删掉了501的。方法一没有尝试,因为觉得亚马逊提供的封面大小也并不均等,看着参差不齐。被动防御效果非常不错,可以复原一部分书籍的自带封面,一部分书籍看上去像是复原出错,也会用书名封面来代替。
不知道为什么升到了5.14.3后我所有send to kindle的漫画和文档在书架页面都无法显示封面了。用fix kindle ebook cover也无法修复,但是锁屏是可以显示的,请问有其他朋友是这种情况吗??TOT
用的是桌面版还是插件版?桌面版只能修复被替换成“暂无图片”的缩略图,对于那种缩略图只显示书名的电子书无效,插件版可以重新为所有电子书生成缩略图,但是需要越狱才能使用。
桌面版。可惜5.14.3没有办法越狱,好想降级固件,这个UI设计反人类啊!!!TOT
我也是,蹲一个解决办法
用了这个软件之后,大部分有封面了,还有小部分没有。而且怎么PC检测不到kindle磁盘了。。
桌面版只能修复被替换成“暂无图片”的缩略图,对于那种缩略图只显示书名的电子书无效,插件版可以重新为所有电子书生成缩略图,但是需要越狱才能使用。
不显示磁盘的问题应该是和软件没关系的,你可以尝试重启一下电脑再试试看。
修复一次就行了还是每次重新下载都要修复?
如果被再次替换需要重新修复。
推送epub后生成azw3修复图片显示后,会影响进度同步吗? 谢谢~
不会影响。
macOS 下载完fix kindle ebook cover安装包,安装完成后,打不开是怎么回事呀?显示无法打打开,因为apple无法检查其是否包含恶意软件
遇到这种情况,需要打开偏好设置,在“安全性与隐私”那个选项中,点击【仍要打开】按钮。