Developer Reading List
, December 03, 2013 Ruby, Python, ASP.NET, Android development, PDF, and more.
Developing with PDF
by Leonard Rosenthol
Despite the eBook revolution, PDF remains the premier format for both documents and, in fact, eBooks due to its ability to maintain formatting accurately regardless of device or form factor. There are only a handful of libraries for creating PDFs and of those, few of them (with the notable exception of iText) are complete. This in part because writing PDFs with all the various extensions supported is delicate work. The various PDF readers tend to be finicky and they frequently have features that require special workarounds due to historical problems whose nature cannot be captured in normative documents such as standards. The latter aspect might seem surprising given that the ISO standard for PDF documents is a massive tome. But in part, that is the problem. There is so much information that it's almost impossible to implement it all; so the trick is to know what must be implemented and what can be left behind.
Rosenthol's new book is certainly the best available guide to PDF features, document structure, and the history that underlies them. Rosenthol is an Adobe employee who specializes in representing the company at PDF-standards meetings. He has long been a presence on PDF mailing lists and forums, answering questions about the document and explaining esoteric details. In this book, he presents all the basics that you might want to know about how to create PDFs and how to extract content (the latter within the tight constraints the format imposes). While there are other books that cover the PDF format, only Rosenthol is able to explain history when needed and point to subtleties that might not be obvious (because many of them buried in extensions and addenda to the ISO standard).
Beyond the inside knowledge the author shares, this book is one of the cleanest, best-written exposiitions of an important standard available in any endeavor. Despite its brevity, it covers advanced topics such as PDF forms, multimedia, and embedded files. If you're going to be working with PDF files, this book is the definitive place to start. It's certainly a much better option that starting with the ISO document.