View Single Post
Old 11-14-2011, 12:48 PM   #1
hawhill
Wizard
hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.
 
hawhill's Avatar
 
Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
KPV: a PDF reader for Kindle, based on muPDF, GPLv3

Hi,

(hidden OP text, since it has only historic value now
Spoiler:
as they say: release early, release often. So I'm presenting my first approach towards creating a better PDF reading experience - mainly for myself, that is. It still has a long way to go and as it is, it is only a proof-of-concept.

I was interested in how fast a PDF reader could actually be. I used the muPDF library (http://www.mupdf.com/) before and it has a good reputation for having a small memory footprint. On the other hand, I have made some bad experiences (mainly in terms of rendering speed) using poppler-qt4 binding.

Another choice I did make was to implement the muPDF binding (and some other stuff) with a Lua API. So the user experience is created by a Lua script, which calls into C for doing actual work. This is to make quick changes to user interface related things and should make for a very adaptable reader application later.

Note that currently the focus is still very much on development. The reader has no graphical UI and only displays in fit-to-page mode. A lot of things are hardwired. And you will need a terminal on the Kindle or USB networking to start it in the first place - it doesn't have a file chooser. And last but not least, documentation could certainly be much more extensive. However, it is pretty fast in my first tests. And by the way, it should do JPEG2k and JBIG2 streams, too.


This is a document reading application for (jailbreaked) Kindles. It will probably be useless for now on the Kindle 4 (Non-Touch) version. It is basically directed at Kindle 3 (or Kindle Keyboard), Kindle DX(G) and maybe (untested) Kindle 2. For touch based devices, have a look at the successor, KOReader: https://www.mobileread.com/forums/sho...d.php?t=209276

It brings its own file browser and comes bundled with a script for the "launchpad" utility.

Despite its name kindlepdfviewer, it supports a lot of document formats.

Features: PDF and DJVU reading with support for table of contents, arbitrary zooming, fit to page content, gamma correction plus a bunch of other features. Also supported are XPS, CBZ (but not CBR, sorry), and thanks to CREngine also text-based formats FB2, TXT, HTML, RTF, CHM, MOBI, EPUB.

The software is still under development. Nevertheless, please report bugs you may encounter (but check the latest discussion here in the thread to avoid duplicates). Also, you're very much invited to get your own hands dirty on the code. It's open source and the development happens mainly on github. After I started it in a humble proof-of-concept version, dpavlin, dave2008, germanc, traycold, NuPogodi and others made great contributions and it's a reader that's now really useful.

For more information, relate to this thread - and the overview in the wiki: https://github.com/koreader/kindlepdfviewer/wiki

So for the brave, here it is:
Basic installation / update (with launchpad):
  • You need to jailbreak and install launchpad first
  • Create a folder "customupdates" on the exported Kindle drive, if not yet present
  • Copy a release ZIP file from https://github.com/koreader/kindlepd.../wiki/Download into the folder "customupdates"
  • Press Shift-Shift-I sequence on the Kindle for installing (if this is the first time you use launchpad: you only have 0.7 secs for the sequence!)
  • Press Shift-Shift-Space sequence on the Kindle to reload launchpad
  • done! now you can run the viewer via a Shift-P-D sequence.

Basic installation / update (with Kite)
  • make sure Kite is installed. You can find the software and instructions here: https://www.mobileread.com/forums/sho...d.php?t=168270
  • unzip the contents of the installation ZIP file in the root directory of the volume the Kindle presents via USB
  • Kite should now present two new pseudo-documents for starting KPDFviewer

Uninstallation:
Please note that uninstallation is not needed when updating the application. Just install a newer release ZIP as described above (unless otherwise mentioned). But if you want to remove it for good, this is the procedure:
  • Just delete "kindlepdfviewer" folder.
  • Also, delete "kpdf.sh" and "kpdf.ini" from the "launchpad" folder
  • Delete KPDFviewer... files from "kite" folder"
  • You might want to scan the drive for files "*.kpdfview.lua", in which document specific settings got stored - and delete them too.

Known problems:
  • Unfortunately, there might always be bugs. You can look at the project's bug tracker to see if we are already aware: https://github.com/koreader/kindlepdfviewer/issues - also, discussion there is always welcome!
  • If you happen to get a cluttered screen, please try to restart Amazon framework by issuing launchpad command Shift-P-R (for "Restart framework")
  • Kindle DX(G): The device hasn't that much RAM. Leaving Amazon's framework running, you may experience funny restarts and similar stuff. We added a launchpad sequence for you that will shut down Amazon's framework (fast) and restart it when you quit kindlepdfviewer (slow). Press launchpad sequence Shift-P-K (for "Kill framework") in order to do that.

For the current release, have a look at the Download page: https://github.com/koreader/kindlepd.../wiki/Download

Last edited by hawhill; 03-26-2013 at 03:58 PM. Reason: new repository locations, koreader
hawhill is offline   Reply With Quote