In iText in Action: Creating and Manipulating PDF
, author Bruno Lowagie walks through everything PDF, Adobe's Portable Document Format, from a Java developer's point of view. Lowagie covers how to use iText in a Java/J2EE application for the production and/or manipulation of PDF documents. Along the way, Lowagie describes interesting PDF features and explains more obscure e-document functionalities. In addition to many small code samples, this book includes XML-based, ready-made solutions that can easily be adapted and integrated into projects.
In chapter 3 of this book, titled "PDF: why and when," Lowagie takes a close look at the PDF. The first section of this chapter explains why PDF was invented and how it evolved into a de facto standard. In the second section, Lowagie describes the different PDF "flavors," some of which are described in an International Standards Organization (ISO) standard. Lowagie uses a table listing different versions of the PDF specification to focus on specific features such as compression and encryption. He also uses "Hello World" examples to show how to compress/decompress and encrypt/decrypt PDF files.
What are some of the more obscure functionalities you've come across when working with a PDF?