bookfere / Fix-Kindle-Ebook-Cover

A tool to fix damaged cover of Kindle ebook.
https://bookfere.com/post/994.html
GNU General Public License v3.0
275 stars 19 forks source link

Didn't work for me #1

Closed edrozenberg closed 1 year ago

edrozenberg commented 1 year ago

I converted an .epub to .mobi with Kindle Previewer, added it to Kindle device via USB. Naturally the cover didn't show up, and running Fix-Kindle-Ebook-Cover w/Restore button didn't fix the cover issue for the book.

The only easy solution I found that doesn't involve fkg with the horribly ugly Calibre app was to email the .epub to my Kindle's email address.

bookfere commented 1 year ago

Fix-Kindle-Ebook-Cover for Windows/macOS is unable to fix the cover of an ebook that was converted by Kindle Previewer or KindleGen and whose CDE Type was PDOC.

But what interests me is that ebook converted by Kindle Previewer or KindleGen should be able to display the cover naturally after being transferred to Kindle via USB. Are you sure that the original EPUB cover is perfect?

edrozenberg commented 1 year ago

Thanks. The cover was showing fine in Apple Books app. The cover was also showing fine in Kindle for Mac app. But getting covers to show up after xfer to Kindle reader via USB is very problematic these days. Various online suggestions to add the proper Amazon book id, etc, nothing has worked reliably for me, not even the stuff the fugly Calibre app tries to do. Only success so far is with emailing the epub to my Kindle email address.

Some claims that this is Amazon on purpose making it hard to have proper covers, in order to force people to buy from them directly. I don't know if this is true, but getting covers to show up on Kindle devices for sideloaded files became a problem in recent months/years, and it was never a problem before that.

bookfere commented 1 year ago

It's difficult to guess Amazon's intentions. However, we can figure out how the Kindle handles the ebook cover, and avoid the problem when transferring an ebook to Kindle.

The pseudocode below represents how the Kindle treats an ebook's cover roughly:

if CDEType == EBOK:
    if ASIN in AmazonServer:
        Obtain the corresponding cover and display it.
    else:
        Replace the cover with a placeholder cover.
else if CDEType == PDOC:
    Extract the cover and display it.
else:
    Use a different cover process mechanism.

Therefore, if you convert EPUBs using Kindle Previewer or KindleGen, the CDEType of the mobi ebook will be marked as PDOC and Kindle will extract and display the cover. If you use Calibre, the CDEType of the mobi ebook is EBOK and the fake ASIN in it does not exist in the Amazon Server, so a placeholder cover will be applied.

In your case, the EPUB was converted by Kindle Previewer, but the cover did not display correctly on the Kindle, which is very strange. It appears that there is a bug in the Kindle system. I suggest making a backup of your "documents" folder and resetting the Kindle to see if the problem goes away.

edrozenberg commented 1 year ago

Thanks very much for your information, very helpful. At some point I'll try messing with some ASINs again. I probably won't try the reset for now, in case I have to redo a bunch of book organization which would be work.

if CDEType == EBOK:

Should be: if BOOK ALREADY HAS COVER DON'T F REMOVE IT, AMAZON BASTUDS! :)