koreader / kpvbooklet

KPVBooklet is a Kindle booklet for starting koreader/kindlepdfviewer and updating last access and percentage finished information in Kindle content catalog entry of the opened document.
MIT License
208 stars 21 forks source link

Request: author and title for epub files on the homescreen #16

Open slow-mo opened 9 years ago

slow-mo commented 9 years ago

Would it be hard to make kpvbooklet show the author and title for epub files on the homescreen - instead of the filename - as for pdf and mobi/azw files?

chrox commented 9 years ago

It's possible but needs a lot of reverse engineering to implement an EPUB metadata extractor like the PDF metadata extractor provided by Kindle system.

dracodoc commented 8 years ago

Isn't EPUB metadata an open standard? I think any epub is just a zip, and you can find metadata in content.opf (the location of this file may be different) like this:

    <meta name="calibre:title_sort" content="Synaptic Self"/>
    <dc:language>zh</dc:language>
    <dc:creator opf:file-as="LeDoux, Joseph" opf:role="aut">Joseph LeDoux</dc:creator>

You can also find the book cover, which is another good option to show in the book cover view screen.

 <manifest>
    <item href="cover.jpeg" id="cover" media-type="image/jpeg"/>
chrox commented 8 years ago

It's easy to extract the meta data of a EPUB document indeed. But it's harder to integrate with the Kindle native system. Because Amazon never provides developing SDK for the Kindle system. Projects like the kpvbooklet have to reverse engineering the interface and some implementations of the Kindle system in order to inter-operate the digital content in Kindle devices.

dracodoc commented 8 years ago

Yes that is a problem. I think calibre did some reverse engineering so that book transferred by calibre can show cover image, while just copy books to kindle will never have the cover shown. Maybe calibre's implementation can be a reference?

As for showing book author and title, there is a simple but ugly hack without need of reverse engineering:

just extract meta data from book then rename the file to title - by author.epub. Then file name get shown, which actually have the book title and author.

Calibre actually always rename books to its own way by metadata.

Of course this could be an option if some user don't like it.

NiLuJe commented 8 years ago

Calibre doesn't have to directly interact with the Kindle Framework. KPVBooklet does (as in, it's really, really directly plugged in there). It's far, far, far more complex than that, and the hoops Calibre has to jump through to make the framework happy are barely related ;).

martinrotter commented 8 years ago

So I am also bothered by this issue. If kpvbooklet cannot display the actual metadata, I would be satisfied with this:

I mean, I searched throught Google like a crazy, but could not find a solution. I have big and nicely organized library and each book has filled title/description/author in Czech language. For example: Souostroví Gulag/Alexandr Solženicyn (in translation Gulag Archipellago, Solzhenicyn). But when I "send to device" the file does not contain non-English characters and those are replaced by "ASCII" ones. Is there a way to force Calibre to send correct filenames for my whole library?

dracodoc commented 8 years ago

The calibre question is unrelated, you can disable preference - save to disk - convert non-english characters, and set saving template to what you want, then use saving to disk instead of send to device to transfer books (save to your kindle partition).

I'm not using this, so I'm not sure if this have any difference from send to device.

cytown commented 7 years ago

If want to implement this, maybe you need implement specified com.amazon.ebook.booklet.reader.impl.detail.ReaderDetailViewFactory

Right?

diegombeltran commented 7 years ago

Can it be implemented?