Developing with PDF

Book description

PDF is becoming the standard for digital documents worldwide, but it’s not easy to learn on your own. With capabilities that let you use a variety of images and text, embed audio and video, and provide links and navigation, there’s a lot to explore. This practical guide helps you understand how to work with PDF to construct your own documents, troubleshoot problems, and even build your own tools.

You’ll also find best practices for producing, manipulating, and consuming PDF documents. In addition, this highly approachable reference will help you navigate the official (and complex) ISO documentation.

  • Learn how to combine PDF objects into a cohesive whole
  • Use PDF’s imaging model to create vector and raster graphics
  • Integrate text, and become familiar with fonts and glyphs
  • Provide navigation within and between documents
  • Use annotations to overlay or incorporate additional content
  • Build interactive forms with the Widget annotation
  • Embed related files such as multimedia, 3D content, and XML files
  • Use optional content to enable non-printing graphics
  • Tag content with HTML-like structures, including paragraphs and tables

Publisher resources

View/Submit Errata

Table of contents

  1. Preface
    1. Who Should Read This Book
    2. Organization of Content
    3. Conventions Used in This Book
    4. Safari® Books Online
    5. How to Contact Us
    6. Acknowledgments
  2. 1. PDF Syntax
    1. PDF Objects
      1. Null Objects
      2. Boolean Objects
      3. Numeric Objects
      4. Name Objects
      5. String Objects
      6. Array Objects
      7. Dictionary Objects
        1. Name trees
        2. Number trees
      8. Stream Objects
      9. Direct versus Indirect Objects
    2. File Structure
      1. White-Space
      2. The Four Sections of a PDF
        1. Header
        2. Trailer
        3. Body
        4. Cross-reference table
      3. Incremental Update
      4. Linearization
    3. Document Structure
      1. The Catalog Dictionary
      2. The Page Tree
      3. Pages
        1. PDF units
        2. Rects and boxes
        3. Inheritance
      4. The Name Dictionary
    4. What’s Next
  3. 2. PDF Imaging Model
    1. Content Streams
      1. Graphic State
    2. The Painter’s Model
      1. Open versus Closed Paths
      2. Clipping
    3. Drawing Paths
    4. Transformations
    5. Basic Color
    6. Marked Content Operators
      1. Property Lists
    7. Resources
    8. External Graphic State
    9. Basic Transparency
    10. What’s Next
  4. 3. Images
    1. Raster Images
      1. Adding the Image
        1. Image dictionaries
        2. Images in content streams
    2. JPEG Images
    3. Transparency and Images
      1. Soft Masks
      2. Stencil Masks
      3. Color-Keyed Masks
    4. Vector Images
      1. Adding the Form XObject
      2. The Form Dictionary
      3. Copying a Page to a Form XObject
    5. What’s Next
  5. 4. Text
    1. Fonts
      1. Glyphs
      2. Font Types
      3. The Font Dictionary
      4. Encodings
    2. Text State
      1. Font and Size
      2. Rendering Mode
    3. Drawing Text
    4. Positioning Text
    5. What’s Next
  6. 5. Navigation
    1. Destinations
      1. Explicit Destinations
      2. Named Destinations
    2. Actions
      1. The Action Dictionary
      2. GoTo Actions
      3. URI Actions
      4. GoToR and Launch Actions
      5. Multimedia Actions
      6. Nested Actions
    3. Bookmarks or Outlines
    4. What’s Next
  7. 6. Annotations
    1. Introduction
      1. Annotation Dictionaries
    2. Appearance Streams
    3. Markup Annotations
      1. Text Markup
      2. Drawing Markup
        1. Attributes
        2. Squares and circles
        3. Lines
        4. Polygons and polylines
        5. Ink
      3. Stamps Markup
      4. Text Annotations and Pop-ups
    4. Non-Markup Annotations
    5. What’s Next
  8. 7. AcroForms
    1. The Interactive Form Dictionary
    2. The Field Dictionary
      1. Field Names
      2. Field Flags
      3. Fields and Annotations
    3. Field Classes
      1. Button Fields
      2. Text Fields
        1. Plain text
        2. Rich text
        3. Text field flags
      3. Choice Fields
        1. MultiSelect flag
        2. Options
        3. Values
        4. Scrolling lists
        5. Combo boxes
        6. Editable combo boxes
      4. Signature Fields
    4. Form Actions
      1. SubmitForm
        1. Submission formats
      2. ResetForm
      3. ImportData
    5. What’s Next
  9. 8. Embedded Files
    1. File Specifications
      1. Embedded File Streams
      2. URL File Specifications
    2. Ways to Embed Files
      1. FileAttachment Annotations
      2. The EmbeddedFiles Name Tree
    3. Collections
      1. The Collection Dictionary
      2. Collection Schema
    4. GoToE Actions
    5. What’s Next
  10. 9. Multimedia and 3D
    1. Simple Media
      1. Sound Annotations
        1. Sound actions
      2. Movie Annotations
        1. The movie dictionary
        2. The movie activation dictionary
        3. Movie actions
    2. Multimedia
      1. Screen Annotation
        1. The appearance characteristics dictionary
      2. Rendition Actions
        1. Rendition objects
    3. 3D
      1. 3D Annotations
        1. The 3D annotation dictionary
        2. 3D views
        3. 3D streams
      2. Markups on 3D
    4. What’s Next
  11. 10. Optional Content
    1. Optional Content Groups
      1. Content State
      2. Usage
    2. Optional Content Membership
      1. Visibility Policies
      2. Visibility Expressions
    3. Optional Content Configuration
      1. Order Key
      2. RBGroups
      3. AS (Automatic State)
    4. Optional Content Properties
    5. Marking Content as Optional
      1. Optional Content in Content Streams
      2. Optional Content for Form XObjects
      3. Optional Content for Annotations
    6. What’s Next
  12. 11. Tagging and Structure
    1. Structured PDF
      1. The Structure Tree
      2. Structure Elements
        1. Standard structure types
        2. Grouping elements
        3. Block-level structural elements
        4. Inline-level structural elements
        5. Artifacts
      3. Role Mapping
      4. Associating Structure to Content
    2. Tagged PDFs
    3. What’s Next
  13. 12. Metadata
    1. The Document Information Dictionary
    2. Metadata Streams
      1. XMP
        1. Schemas
      2. XMP in PDF
      3. XMP versus the Info Dictionary
    3. What’s Next
  14. 13. PDF Standards
    1. PDF (ISO 32000)
    2. PDF/X (ISO 15930)
    3. PDF/A (ISO 19005)
    4. PDF/E (ISO 24517)
    5. PDF/VT (ISO 16612-2)
    6. PDF/UA (ISO 14289)
    7. Other PDF-Related Standards
      1. PAdES (ETSI TS 102 778)
      2. PDF Healthcare
  15. Index
  16. About the Author
  17. Colophon
  18. Copyright

Product information

  • Title: Developing with PDF
  • Author(s): Leonard Rosenthol
  • Release date: October 2013
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781449327910