PDF Reference: Version 1.4, 3rd Edition
The Adobe Portable Document Format (PDF) is the native file format of the Adobe® Acrobat® family of products. The goal of these products is to enable users to exchange and view electronic documents easily and reliably, independently of the environment in which they were created. PDF relies on the same imaging model as the PostScript® page description language to describe text and graphics in a device-independent and resolution-independent manner. To improve performance for interactive viewing, PDF defines a more structured format than that used by most PostScript language programs. PDF also includes objects, such as annotations and hypertext links, that are not part of the page itself but are useful for interactive viewing and document interchange.
1.1 About This Book
This book provides a description of the PDF file format and is intended primarily for application developers wishing to develop PDF producer applications that create PDF files directly. It also contains enough information to allow developers to write PDF consumer applications that read existing PDF files and interpret or modify their contents.
Although the PDF specification is independent of any particular software implementation, some PDF features are best explained by describing the way they are processed by a typical application program. In such cases, this book uses the Adobe Acrobat family of PDF viewer applications as its model. (The prototypical viewer is the fully capable Acrobat product, not the limited Acrobat Reader product.) Similarly, Appendix C discusses some implementation limits in the _Acrobat viewer applications, even though these limits are not part of the file format itself. To provide guidance to implementors of PDF producer and consumer applications, compatibility and implementation notes in Appendix H describe the behavior of Acrobat viewer applications when they encounter newer features they do not understand, as well as areas in which the Acrobat products diverge from the specification presented in this book.
This third edition of the PDF Reference describes version 1.4 of PDF. (See implementation note 1 in Appendix H.) Throughout the book, information specific to particular versions of PDF is marked as suchfor example, with indicators like (PDF 1.3) or (PDF 1.4). Features so marked may be new in the indicated version or may have been substantially redefined in that version. Features designated (PDF 1.0) have generally been superseded in later versions; unless otherwise stated, features identified as specific to other versions are understood to be available in later versions as well. (PDF viewer applications designed for a specific PDF version generally ignore newer features they do not recognize; implementation notes in Appendix H point out exceptions.)
The rest of the book is organized as follows:
Chapter 2, "Overview," briefly introduces the overall architecture of PDF and the design considerations behind it, compares it with the PostScript language, and describes the underlying imaging model that they share.
Chapter 3, "Syntax," presents the syntax of PDF at the object, file, and document level. It sets the stage for subsequent chapters, which describe how that information is interpreted as page descriptions, interactive navigational aids, and application-level logical structure.
Chapter 4, "Graphics," describes the graphics operators used to describe the appearance of pages in a PDF document.
Chapter 5, "Text," discusses PDF's special facilities for presenting text in the form of character shapes, or glyphs, defined by fonts.
Chapter 6, "Rendering," considers how device-independent content descriptions are matched to the characteristics of a particular output device.
Chapter 7, "Transparency," discusses the operation of the transparent imaging model, introduced in PDF 1.4, in which objects can be painted with varying degrees of opacity, allowing the previous contents of the page to show through.
Chapter 8, "Interactive Features," describes those features of PDF that allow a user to interact with a document on the screen, using the mouse and keyboard.
Chapter 9, "Document Interchange," shows how PDF documents can incorporate higher-level information that is useful for the interchange of documents among applications.
The appendices contain useful tables and other auxiliary information.
Appendix A, "Operator Summary," lists all the operators used in describing the visual content of a PDF document.
Appendix B, "Operators in Type 4 Functions," summarizes the PostScript operators that can be used in PostScript calculator functions, which contain code written in a small subset of the PostScript language.
Appendix C, "Implementation Limits," describes typical size and quantity _limits imposed by the Acrobat viewer applications.
Appendix D, "Character Sets and Encodings," lists the character sets and encodings that are assumed to be predefined in any PDF viewer application.
Appendix E, "PDF Name Registry," discusses a registry, maintained for developers by Adobe Systems, that contains private names and formats used by PDF producers or Acrobat plug-in extensions.
Appendix F, "Linearized PDF," describes a special form of PDF file organization designed to work efficiently in network environments.
Appendix G, "Example PDF Files," presents several examples showing the structure of actual PDF files, ranging from one containing a minimal one-page document to one showing how the structure of a PDF file evolves over the course of several revisions.
Appendix H, "Compatibility and Implementation Notes," provides details on the behavior of Acrobat viewer applications and describes how viewer applications should handle PDF files containing features that they do not recognize.
A color plate section provides illustrations of some of PDF's color-related features. References in the text of the form "see Plate 1" refer to the contents of this section.
The book concludes with a Bibliography and an Index.
The enclosed CD-ROM contains the entire text of this book in PDF form.