19.12.2010, 15:42

Mr. Bla

Mr. Bla is a lightweight GTK+ document viewer (x86-64 binary about 70kb, x86: 60kb).

Code: mr.bla-0.1.2.tar.gz (21kb) (License: GPL-2)

I've begun work on Mr. Bla due to a fellow student of mine complaining about the current situation of all standard document viewers not being able to zoom unlimitedly. She is producing some PostScript-files containing analysis data and renderings on aerofoil optimization and needs a rather high resolution to view those results. Except for gv, the GUI of which has a rather deterring effect in my opinion, and Adobe's PDF-Reader of course, there don't seem to be any usable document viewers without that (quite arbitrary) restriction.

Another motivating factor has been the arrival of my new notebook which I didn't want to clutter up with libraries that I have no use for. I mainly use it to TeX stuff and so a nice document viewer was quite needed.

Features:

  • PDF support using poppler
  • PS support using libspectre (based on Ghostscript)
  • Zoom is limited only by library capabilities and available RAM, e.g. cairo and Ghostscript both seem to have problems working on more than 4GB data. This relates to viewing a standard DIN A4 document at about 3200% zoom. This obstacle will be overcome soon when introducing tiled rendering.
  • No absurd dependencies on a multitude of libraries (unlike e.g. evince or Okular). Needed are:
    • cairo
    • poppler
    • GTK+
    • libspectre
  • Document reloading capabilities via Inotify on Linux

During the creation of the program, the independant DocView GObject has emerged, which supports scrolling and page-change notification signals to the respective user of the widget and might come in handy for a general image viewer as well. See the file docview.h for more information.

Todo

  • Print support (also see this slide)
  • Fit to width / fit page zoom
  • Preferences and config file
  • Text extraction, image export, link/index/search support, i.e. all that poppler provides
  • Trim page margins to contents
  • Tiled rendering
  • DVI support
  • DjVu support
  • Page thumbnails

Screenshots

Mr. Bla main window showing a document
Mr. Bla main window rendering a document at zoom level 15