Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Developer Reading List

, December 03, 2013 Ruby, Python, ASP.NET, Android development, PDF, and more.
  • E-mail
  • Print

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.

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.