PDF viewer roundup

Trying to navigate a PDF version of a map is a frustrating experience. Based on the recommendations of LifeHacker, I tried three PDF viewers:

  1. Adobe Acrobat : well supported, tons of features, too many features, bloated, slow, poor navigation, automatically launches auxiliary programs in the background.
  2. Tracker PDF-XChanger Viewer : free version is just spam for the Pro version. Bloated, horrible web site, poor documentation, poor support, poor navigation. There’s no way I would pay for a Pro version when the website looks like a spam front.
  3. Sumatra : crashed and wouldn’t render PDF.

I was just looking for a PDF viewer that had:

  • instant pan (the hand tool) via mouse or spacebar. All the PDF viewers I tried had this. And also an
  • instant zoom either through a keyboard shortcut or mousewheel support, none of these had that except Sumatra, which wouldn’t even render the PDF.

As far as usability, for this application, I’m going to stick with Adobe Acrobat. It’s navigation is better than PDF-XChanger, and I’ve already gotten used to all its annoyances.

[UPDATE] I found a setting in Adobe Acrobat in the General setting called “Make Hand tool use mouse-wheel zooming” that’s working out for me.

September 30th, 2009 | Mental Note: Add Category | No comments

Teaching Myself the HTML Canvas Element

I rewrote some JavaScript of mine to use <canvas> instead of a <pre> block to display some data from a database scraped from a webpage. So far, it’s looking a lot nicer:
CanvasTest1I can do all sorts of other cool visualizations of the data too. Some things I learned that weren’t in the Mozilla documentation:

save(), restore(), scale(), and translate() are useful, but when you want to do operations about a point other than the origin, setTransform() does a much nicer job when you use a point other 0,0 for the origin. I could have sworn there was a way that didn’t involve me doing math to do it, but I couldn’t find it and ended up just doing the math to get setTransform to work.

scale() does a really horrible job. I abandoned using tiled images and scaled Text. As you can see, I went with a solid background, and in that picture I removed for aesthetics — but I ended up writing my own custom method for scaling text (I had to do more math!).

I’m not sure how far I’ll take this, or in what direction, but I’ll have fun along the way.

September 16th, 2009 | Nerd | No comments