Sunday, June 12, 2011

Comparison of OpenSource PDF readers for Android


Today we're going to review few open-source PDF readers for Android platform. The table below provides links and feature-by-feature comparison, with more detailed discussion of features below the table. It should be noted that all these readers are based on the same PDF rendering library - MuPDF, so offer roughly the same rendering quality, the differences may be only due different version of the library used, or different configuration options (for example, some readers compile MuPDF without JPEG2000/JBIG support, or without standard PDF fonts).

The review summarizes with expectable conclusion - there's no perfect reader so far, but selects clear winner, which is worth to be hacked on.

Feature DroidReader 0.5 APV aka PDFViewer 0.2.9 VuDroid 1.4 MuPDF Android Client 0.8.165
Builtin open file - + + -
On-screen zoom - + + +
Continuous pages - + + -
Page smaller than screen - (force close on attempt) + - -
In-app rotate + + - -
Go to page + + + -
Table of contents - - - -
Find text - + - -
JPEG2000/JBIG - (doesn't recognize pdf) + - +
Other formats - - DJVU -

  • Builtin open file - whether you can start application and select file to view, or must have a compatible file manager and open PDF in it using "open with".
  • On-screen zoom - whether you can zoom by direct manipulation on screen (like, pinch zoom, zoom in/out widgets) or need to go to menu. Needless to say, without on-screen zoom a reader is hard to use for real reading.
  • Continuous pages - whether you see single page at time and need to use explicit next/prev page actions, or can just scroll a page away and see next/previous page. (Arguably, continuous page reading is easier and more productive.)
  • Page smaller than screen - whether you can zoom out page so it is smaller than screen. For continuous pages reader, that would mean showing more than 2 pages at the same time on the screen. While this seems like neat feature, it actually just complicates real reading, when you need to take extra care to zoom back carefully after occasional zoom-in. (That's of course why most apps don't bother to implement it.)
  • In-app rotate - whether app has own support for rotating pages, or relies on OS to support rotation. Got a vendor-crippled device without OS support for rotation? You're lost without in-app rotate, so that's boon.
  • Go to page - basic navigation feature. That's not much convenient for real reading, but without this, you can't do any real reading at all.
  • Table of contents - real navigation. For an app to be really usable, it must support this. Nope of apps in review does though.
  • Find text - other very useful navigational feature. You hardly can read technical/reference docs without this.
  • JPEG2000/JBIG images support - Apps which doesn't support these images format don't really support PDF, just some crippled subset of it.
  • Other formats support: You found your perfect PDF reader? Congrats, now repeat that for all other ebook formats you use. Don't wanna waste time like that? Choose readers which support all reasonably similar formats. For already typeset ebook, there're actually two formats: PDF & DJVU, so good reader should support both. For TXT, HTML, CHM you indeed would rather look for different reader with different featureset.

And the winner is...

Based on the table above, the clear winner is VuDroid: it supports both typeset-ebook formats, PDF & DJVU, and has reasonable usability features (like has limit for page zoom out, as well as adjusts zoom on rotation). One serious, but easy to fix thing lack of JPEG2000/JBIG support (fixable by extending MuPDF config). Other thing it lacks comparing to APV is text find. Well, all readers in review lack ToC support, which a perfect reader must have. Back to VuDroid, it's UI is rather bare - there's no even About dialog, so you can't know that you're running VuDroid at all, or its version!

4 comments:

Marcin Juszkiewicz said...

"APV aka PDFViewer 0.2.9" looks like real winner for me - has more "+" then others.

I use ThinkOffice Free which came with default image on my Nexus S - works fine under CM7.

Qoppa Software said...

Have you evaluated qPDF Viewer, a free PDF viewer for Android? It's not open source but we at Qoppa like to believe that it the best PDF viewer on Android.

Deepak said...

APV is not able to display large image. Is this a bug in APV

Unknown said...

The review is no doubt a great help for all the people who are in search of an impressive pdf reader. Thanks to you for stating all these clear points that will help all to decide the right option.
PDF signature