February 03, 2010, 11:08 AM — PDF is a peculiar technology: essentially all of us are familiar with it, have reasonably clear ideas of what it does and how it works, and it's certainly been around long enough (its twentieth anniversary is coming up in the next year or two, depending on how you count releases) for all its "tricks" to have been exposed. That's the surprise, though: PDF is so big that surprises continue to turn up.
I was entirely serious last week when I wrote about
pdfjam getting me out of a jam. Even though PDF is mature, it continues to grow, and so the tools that we use to wrangle it necessarily require on-going cultivation to track the changes. Moreover, like the legendary elephant, PDF is so large that no single toolset is big enough to do all we need.
Just in the last week, for example:
- Tcl-based pdf4tcl became, according to principal maintainer Peter Spjuth, "reasonably complete ...";
- Python-based pyPdf received patches having to do with performance optimizations that turn out to be vital for my own use of PDF;
- Java-based iText, likely the single library with the widest scope, released version 5.0.1, and reorganized the table of contents of the latest draft of the new edition of the book on iText; and
- mobile devices are collecting all sorts of buzz for possible involvements of PDF.
Maybe your use of PDF is better-focused than ours, and you're able to get by with just a single library, or you code your own PDF-oriented application (so do I, although rarely, of late--the standard has grown so big that keeping up with all its variations would be more than a full-time job). We've consistently found it more practical to use several different tools together, because no single one covers all our requirements. For another perspective on this, read through the archives of the iText mailing list; by my count, the single most common recurring thread goes something like this: "Q: my boss wants me to do X with a PDF file; how does iText do Y?; A: iText doesn't do X or Y."
My conclusion: if you're new to the area of PDF production and management, expect that you'll have more to learn than might first be apparent, and be ready to ask for help.