PDF Reference, version 1.7

PDF Reference sixth edition

Adobe® Portable Document Format Version 1.7 November 2006

Adobe Systems Incorporated

© 1985–2006 Adobe ® Systems Incorporated. All rights reserved. PDF Reference, sixth edition: Adobe Portable Document Format version 1.7. November 2006

NOTICE: All information contained herein is the property of Adobe Systems Incorporated. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with soft- ware that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Sys- tems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permis- sion required from the copyright owner. Any references to company names and company logos in sample material are for demonstration purposes only and are not intended to refer to any actual organization. Adobe, the Adobe logo, Acrobat, the Acrobat logo, Acrobat Capture, Adobe Garamond, Adobe Reader, Adobe Solutions Network, Distiller, Extreme, FrameMaker, Illustrator, InDesign, Minion, PageMaker, Photoshop, Poetica, PostScript, and XMP are either registered trademarks or trade- marks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Apple, Mac, Macintosh, and Power Macintosh are trademarks of Apple Computer, Inc., registered in the United States and other countries. IBM is a registered trademark of IBM Corporation in the United States. Sun is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. UNIX is a registered trademark of The Open Group in the United States and other countries. SVG is a trademark of the World Wide Web Consortium; marks of the W3C are registered and held by its host institutions MIT, INRIA and Keio. Helvetica and Times are registered trademarks of Linotype-Hell AG and/or its subsidiaries. Arial and Times New Roman are trademarks of The Monotype Corporation regis- tered in the U.S. Patent and Trademark Office and may be registered in certain other jurisdictions. ITC Zapf Dingbats is a registered trademark of International Typeface Corporation. Ryumin Light is a trademark of Morisawa & Co., Ltd. All other trademarks are the property of their respective owners. All instances of the name PostScript in the text are references to the PostScript language as defined by Adobe Systems Incorporated unless otherwise stated. The name PostScript also is used as a product trademark for Adobe Systems implementation of the PostScript language interpreter. Except as otherwise stated, any mention of a “PostScript output device,” “PostScript printer,” “Post- Script software,” or similar item refers to a product that contains PostScript technology created or licensed by Adobe Systems Incorporated, not to one that purports to be merely compatible. THIS PUBLICATION AND THE INFORMATION HEREIN ARE FURNISHED AS IS, ARE FURNISHED FOR INFORMATIONAL USE ONLY, ARE SUBJECT TO CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYS- TEMS INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSI- BILITY OR LIABILITY FOR ANY ERRORS OR INACCURACIES THAT MAY APPEAR IN THE INFORMATIONAL CONTENT CONTAINED IN THIS GUIDE, MAKES NO WAR-

RANTY OF ANY KIND (EXPRESS, IMPLIED, OR STATUTORY) WITH RESPECT TO THIS PUBLICATION, AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MER- CHANTABILITY, FITNESS FOR PARTICULAR PURPOSES, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS. Adobe Systems Incorporated and its subsidiaries own a number of patents covering technology disclosed in the PDF Reference . Nothing in the PDF Reference itself grants rights under any patent. Nonetheless, Adobe desires to encourage implementation of the PDF computer file format on a wide variety of devices and platforms, and for this reason offers certain royalty-free patent licenses to PDF implementors worldwide. To review those licenses, please visit http://www.adobe.com/go/developer_legalnotices.

Contents

Preface 23

Chapter 1: Introduction 25

1.1 About This Book 25 1.2 Introduction to PDF 1.7 Features 28

1.3 Related Publications 31 1.4 Intellectual Property 32

Chapter 2: Overview 33

2.1 Imaging Model 34 2.2 Other General Properties 38 2.3 Creating PDF 43 2.4 PDF and the PostScript Language 45

Chapter 3: Syntax 47 3.1 Lexical Conventions 48

3.2 Objects 51 3.3 Filters 65

3.4 File Structure 90 3.5 Encryption 115 3.6 Document Structure 137 3.7 Content Streams and Resources 151 3.8 Common Data Structures 155 3.9 Functions 166 3.10 File Specifications 178 Chapter 4: Graphics 193 4.1 Graphics Objects 194 4.2 Coordinate Systems 199 4.3 Graphics State 210 4.4 Path Construction and Painting 224 4.5 Color Spaces 235 4.6 Patterns 289 4.7 External Objects 332 4.8 Images 334

4.9 Form XObjects 355 4.10 Optional Content 364

5

6

Contents

Chapter 5: Text 387 5.1 Organization and Use of Fonts 388 5.2 Text State Parameters and Operators 396 5.3 Text Objects 404 5.4 Introduction to Font Data Structures 410 5.5 Simple Fonts 412

5.6 Composite Fonts 433 5.7 Font Descriptors 455

5.8 Embedded Font Programs 465 5.9 Extraction of Text Content 469

Chapter 6: Rendering 477 6.1 CIE-Based Color to Device Color 478 6.2 Conversions among Device Color Spaces 480 6.3 Transfer Functions 484 6.4 Halftones 486 6.5 Scan Conversion Details 508 Chapter 7: Transparency 513 7.1 Overview of Transparency 514 7.2 Basic Compositing Computations 516 7.3 Transparency Groups 530 7.4 Soft Masks 545 7.5 Specifying Transparency in PDF 547 7.6 Color Space and Rendering Issues 561

Chapter 8: Interactive Features 577

8.1 Viewer Preferences 577 8.2 Document-Level Navigation 581 8.3 Page-Level Navigation 594 8.4 Annotations 604 8.5 Actions 647

8.6 Interactive Forms 671 8.7 Digital Signatures 725

8.8 Measurement Properties 744 8.9 Document Requirements 751

Chapter 9: Multimedia Features 755

9.1 Multimedia 755 9.2 Sounds 782 9.3 Movies 784 9.4 Alternate Presentations 786 9.5 3D Artwork 789

7

Contents

Chapter 10: Document Interchange 841

10.1 Procedure Sets 842 10.2 Metadata 843 10.3 File Identifiers 847 10.4 Page-Piece Dictionaries 848 10.5 Marked Content 850 10.6 Logical Structure 855 10.7 Tagged PDF 883 10.8 Accessibility Support 935 10.9 Web Capture 946 10.10 Prepress Support 962

Appendix A: Operator Summary 985

Appendix B: Operators in Type 4 Functions 989

B.1 Arithmetic Operators 989 B.2 Relational, Boolean, and Bitwise Operators 990 B.3 Conditional Operators 990 B.4 Stack Operators 990 Appendix C: Implementation Limits 991 D.1 Latin Character Set and Encodings 997 D.2 PDFDocEncoding Character Set 1001 D.3 Expert Set and MacExpertEncoding 1010 D.4 Symbol Set and Encoding 1013 D.5 ZapfDingbats Set and Encoding 1016 Appendix E: PDF Name Registry 1019 Appendix F: Linearized PDF 1021 F.1 Background and Assumptions 1022 F.2 Linearized PDF Document Structure 1024 F.3 Hint Tables 1039 F.4 Access Strategies 1051 Appendix G: Example PDF Files 1057 G.1 Minimal PDF File 1057 G.2 Simple Text String Example 1060 G.3 Simple Graphics Example 1062 G.4 Page Tree Example 1065 G.5 Outline Hierarchy Example 1070 G.6 Updating Example 1074 G.7 Structured Elements That Describe Hierarchical Lists 1082 Appendix D: Character Sets and Encodings 995

8

Contents

Appendix H: Compatibility and Implementation Notes 1095

H.1 PDF Version Numbers 1095 H.2 Feature Compatibility 1098 H.3 Implementation Notes 1099

Appendix I: Computation of Object Digests 1131

I.1 Basic Object Types 1131 I.2 Selective Computation 1133

Color Plates 1139

Bibliography 1151

Index 1159

Figures

2.1 2.2 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9

Creating PDF files using the Adobe PDF printer 44 Creating PDF files using Acrobat Distiller 45

PDF components 48

Initial structure of a PDF file 91 Structure of an updated PDF file 100 Public-key encryption algorithm 130 Structure of a PDF document 138

Inheritance of attributes 149

Relationship between string types 158 Mapping with the Decode array 173

Graphics objects 197 Device space 200

User space 202

Relationships among coordinate systems 204 Effects of coordinate transformations 205

Effect of transformation order 206

Miter length 217

Cubic Bézier curve generated by the c operator 228 Cubic Bézier curves generated by the v and y operators 229

4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27

Nonzero winding number rule 233

Even-odd rule 234

Color specification 238 Color rendering 239

Component transformations in a CIE-based ABC color space 245 Component transformations in a CIE-based A color space 246 Starting a new triangle in a free-form Gouraud-shaded triangle mesh 316 Connecting triangles in a free-form Gouraud-shaded triangle mesh 317 Varying the value of the edge flag to create different shapes 318

Lattice-form triangle meshes 319

Coordinate mapping from a unit square to a four-sided Coons patch 322

Painted area and boundary of a Coons patch 323 Color values and edge flags in Coons patch meshes 325

Edge connections in a Coons patch mesh 326 Control points in a tensor-product patch 328

Typical sampled image 334

Source image coordinate system 338 Mapping the source image 338

9

10

Figures

5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.1 6.2 6.3 6.4 6.5 6.6 6.7 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.1 9.2 9.3 9.4 9.5 9.6

Glyphs painted in 50% gray 391

Glyph outlines treated as a stroked path 392 Graphics clipped by a glyph path 393

Glyph metrics 394

Metrics for horizontal and vertical writing modes 396

Character spacing in horizontal writing 399 Word spacing in horizontal writing 399

Horizontal scaling 400

Leading 400 Text rise 403

5.10 5.11 5.12 5.13

Operation of the TJ operator in horizontal writing 408

Output from Example 424

Characteristics represented in the Flags entry of a font descriptor 459

Various halftoning effects 494

Halftone cell with a nonzero angle 500

Angled halftone cell divided into two squares 501 Halftone cell and two squares tiled across device space 501

Tiling of device space in a type 16 halftone 503

Flatness tolerance 509

Rasterization without stroke adjustment 512

Presentation timing 601 Open annotation 604

Coordinate adjustment with the NoRotate flag 610

Free text annotation with callout 625

Leader lines 628

Lines with captions appearing as part of the line 629 Line with a caption appearing as part of the offset 629

Square and circle annotations 631 QuadPoints specification 634

8.10

FDF file structure 712

Default view of artwork 802 Annotation 2 rotated 803

Shared artwork (annotations 2 &3) modified 803

Rotation around the center of orbit 807

Perspective projection of 3D artwork onto the near plane 810 Objects projected onto the near clipping plane, as seen from the position of the camera 811 Positioning and scaling the near plane onto the annotation’s 3D view box 811 Rendering of the 3D artwork using View0 (no cross section) 824 Rendering of the 3D artwork using View1 (cross section perpendicular to the x axis) 825 3D annotation positioned on the page 812

9.7

9.8 9.9

9.10

11

Figures

9.11

Rendering of the 3D artwork using View2 (cross section rotated around the y axis by -30 degrees) 826 Rendering of the 3D artwork using View3 (cross section rotated around the z axis by 30 degrees) 827 Rendering of the 3D artwork using View4 (cross section rotated around the y axis by -30 degrees and around the z axis by 30 degrees) 828 Rendering of the 3D artwork using View1 (all shapes visible and opaque) 831 Rendering of the 3D artwork using View2 (the cone is hidden and the sphere is semi-transparent) 832

9.12

9.13

9.14

9.15

9.16 9.17 9.18 10.1 10.2 10.3 10.4

3D artwork set to its default view 838 3D artwork set to CommentView1 839 3D artwork set to CommentView2 839 Simple Web Capture file structure 948 Complex Web Capture file structure 949

Page boundaries 964 Trapping example 974

G.1 G.2 G.3 G.4 G.5 G.6 G.7

Output of Example G.3 1063 Page tree for Example G.4 1065

Document outline as displayed in Example G.5 1070 Document outline as displayed in Example G.6 1072

Table of contents 1082

Association between content and marked content identifiers 1083 Hierarchy of structure elements and relationship with marked content 1084

G.8 G.9

Index 1089

Hierarchy of structure elements and relationship with marked content 1090 Plate 1 Additive and subtractive color (Section 4.5.3, “Device Color Spaces,” page 241) Plate 2 Uncalibrated color (Section 4.5.4, “CIE-Based Color Spaces,” page 244) Plate 3 Lab color space (“Lab Color Spaces,” page 250) Plate 4 Color gamuts (“Lab Color Spaces,” page 250) Plate 5 Rendering intents (“Rendering Intents,” page 260) Plate 6 Duotone image (“DeviceN Color Spaces,” page 269) Plate 7 Quadtone image (“DeviceN Color Spaces,” page 269) Plate 8 Colored tiling pattern (“Colored Tiling Patterns,” page 295) Plate 9 Uncolored tiling pattern (“Uncolored Tiling Patterns,” page 299) Plate 10 Axial shading (“Type 2 (Axial) Shadings,” page 310) Plate 11 Radial shadings depicting a cone (“Type 3 (Radial) Shadings,” page 312) Plate 12 Radial shadings depicting a sphere (“Type 3 (Radial) Shadings,” page 313) Plate 13 Radial shadings with extension (“Type 3 (Radial) Shadings,” page 313) Plate 14 Radial shading effect (“Type 3 (Radial) Shadings,” page 313)

12

Figures

Plate 15 Coons patch mesh (“Type 6 Shadings (Coons Patch Meshes),” page 321) Plate 16 Transparency groups (Section 7.1, “Overview of Transparency,” page 515) Plate 17 Isolated and knockout groups (Sections 7.3.4, “Isolated Groups,” page 539 and 7.3.5, “Knockout Groups,” page 540) Plate 18 RGB blend modes (Section 7.2.4, “Blend Mode,” page 520) Plate 19 CMYK blend modes (Section 7.2.4, “Blend Mode,” page 520) Plate 20 Blending and overprinting (“Compatibility with Opaque Overprinting,” page 569)

Tables

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

White-space characters 50

Escape sequences in literal strings 54

Examples of literal names using the # character 57 Entries common to all stream dictionaries 62

Standard filters 67

Typical LZW encoding sequence 73

Optional parameters for LZWDecode and FlateDecode filters 74

Predictor values 76

Optional parameters for the CCITTFaxDecode filter 78 Optional parameter for the JBIG2Decode filter 82 Optional parameter for the DCTDecode filter 85

3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 3.20 3.21

Optional parameters for Crypt filters 90 Entries in the file trailer dictionary 97

Additional entries specific to an object stream dictionary 101 Additional entries specific to a cross-reference stream dictionary 107

Entries in a cross-reference stream 109

Additional entries in a hybrid-reference file’s trailer dictionary 110

Entries common to all encryption dictionaries 116

Additional encryption dictionary entries for the standard security handler 122

User access permissions 123

Additional encryption dictionary entries for public-key security handlers 129

Entries common to all crypt filter dictionaries 132

Standard crypt filter names 134

Additional crypt filter dictionary entries for public-key security handlers 134

Entries in the catalog dictionary 139 Required entries in a page tree node 143

Entries in a page object 145

Entries in the name dictionary 150

Compatibility operators 152

Entries in a resource dictionary 154

PDF data types 155 String Types 157

Entries in a name tree node dictionary 162

13

14

Tables

3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 3.46

Entries in a number tree node dictionary 166 Entries common to all function dictionaries 168

Additional entries specific to a type 0 function dictionary 170 Additional entries specific to a type 2 function dictionary 173 Additional entries specific to a type 3 function dictionary 174

Operators in type 4 functions 176 Examples of file specifications 181

Entries in a file specification dictionary 182

Additional entries in an embedded file stream dictionary 185 Entries in an embedded file parameter dictionary 186

Entries in a Mac OS file information dictionary 186 Entries in a collection item dictionary 189 Entries in a collection subitem dictionary 189

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9

Operator categories 196

Device-independent graphics state parameters 210 Device-dependent graphics state parameters 212

Line cap styles 216 Line join styles 216

Examples of line dash patterns 218 Graphics state operators 219

Entries in a graphics state parameter dictionary 220

Path construction operators 226 Path-painting operators 230 Clipping path operators 235

4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30

Color space families 237

Entries in a CalGray color space dictionary 246 Entries in a CalRGB color space dictionary 248 Entries in a Lab color space dictionary 251

Additional entries specific to an ICC profile stream dictionary 253 ICC specification versions supported by ICCBased color spaces 253

ICC profile types 254

Ranges for typical ICC color spaces 255

Rendering intents 261

Entries in a DeviceN color space attributes dictionary 272 Entries in a DeviceN process dictionary 274 Entries in a DeviceN mixing hints dictionary 274

Color operators 287

Additional entries specific to a type 1 pattern dictionary 292

Entries in a type 2 pattern dictionary 302

Shading operator 303

Entries common to all shading dictionaries 305

Additional entries specific to a type 1 shading dictionary 308 Additional entries specific to a type 2 shading dictionary 309

15

Tables

4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44 4.45 4.46 4.47 4.48 4.49 4.50 4.51 4.52 4.53

Additional entries specific to a type 3 shading dictionary 311 Additional entries specific to a type 4 shading dictionary 315 Additional entries specific to a type 5 shading dictionary 320 Additional entries specific to a type 6 shading dictionary 324

Data values in a Coons patch mesh 327

Data values in a tensor-product patch mesh 331

XObject operator 332

Additional entries specific to a PostScript XObject dictionary 333

Additional entries specific to an image dictionary 340

Default Decode arrays 345

Entries in an alternate image dictionary 347

Inline image operators 352

Entries in an inline image object 353

Additional abbreviations in an inline image object 353 Additional entries specific to a type 1 form dictionary 358 Entries common to all group attributes dictionaries 361 Entries in an optional content group dictionary 364 Entries in an optional content membership dictionary 366 Entries in the optional content properties dictionary 375 Entries in an optional content configuration dictionary 376 Entries in an optional content usage dictionary 380 Entries in a reference dictionary 362

Entries in a usage application dictionary 382

5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9

Text state parameters 397 Text state operators 398 Text rendering modes 402 Text object operators 405 Text-positioning operators 406 Text-showing operators 407

Font types 411

Entries in a Type 1 font dictionary 413 Entries in a Type 3 font dictionary 420

5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19

Type 3 font operators 423

Entries in an encoding dictionary 427

Differences between MacRomanEncoding and Mac OS Roman encoding 431

Entries in a CIDSystemInfo dictionary 435 Entries in a CIDFont dictionary 436

Predefined CJK CMap names 442

Character collections for predefined CMaps, by PDF version 446

Additional entries in a CMap dictionary 448 Entries in a Type 0 font dictionary 452 Entries common to all font descriptors 456

16

Tables

5.20 5.21 5.22 5.23 5.24

Font flags 458

Additional font descriptor entries for CIDFonts 461

Glyph classes in CJK fonts 463

Embedded font organization for various font types 465 Additional entries in an embedded font stream dictionary 466

6.1 6.2 6.3 6.4 6.5 6.6 6.7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9

Predefined spot functions 489

PDF halftone types 496

Entries in a type 1 halftone dictionary 497

Additional entries specific to a type 6 halftone dictionary 499 Additional entries specific to a type 10 halftone dictionary 502 Additional entries specific to a type 16 halftone dictionary 504

Entries in a type 5 halftone dictionary 505

Variables used in the basic compositing formula 518

Standard separable blend modes 520 Standard nonseparable blend modes 524

Variables used in the source shape and opacity formulas 528 Variables used in the result shape and opacity formulas 529 Revised variables for the basic compositing formulas 532 Arguments and results of the group compositing function 534 Variables used in the group compositing formulas 536 Variables used in the page group compositing formulas 543 Restrictions on the entries in a soft-mask image dictionary 554 Additional entry in a soft-mask image dictionary 555 Additional entries specific to a transparency group attributes dictionary 556 Overprinting behavior in the opaque imaging model 570 Overprinting behavior in the transparent imaging model 571 Entries in a soft-mask dictionary 553

7.10 7.11 7.12 7.13

7.14 7.15

8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9

Entries in a viewer preferences dictionary 578

Destination syntax 582

Entries in the outline dictionary 585 Entries in an outline item dictionary 585

Outline item flags 587

Entries in a collection dictionary 589

Entries in a collection schema dictionary 590 Entries in a collection field dictionary 591 Entries in a collection sort dictionary 592 Entries in a page label dictionary 595 Entries in a thread dictionary 596 Entries in a bead dictionary 597 Entries in a transition dictionary 599 Entries in a navigation node dictionary 602 Entries common to all annotation dictionaries 606

8.10 8.11 8.12 8.13 8.14 8.15

17

Tables

8.16 8.17 8.18 8.19 8.20 8.21 8.22 8.23 8.24 8.25 8.26 8.27 8.28 8.29 8.30 8.31 8.32 8.33 8.34 8.35 8.36 8.37 8.38 8.39 8.40 8.41 8.42 8.43 8.44 8.45 8.46 8.47 8.48 8.49 8.50 8.51 8.52 8.53 8.54 8.55 8.56 8.57 8.58

Annotation flags 608

Entries in a border style dictionary 611 Entries in a border effect dictionary 612 Entries in an appearance dictionary 614

Annotation types 615

Additional entries specific to markup annotations 618

Annotation states 620

Additional entries specific to a text annotation 621 Additional entries specific to a link annotation 622 Additional entries specific to a free text annotation 624 Additional entries specific to a line annotation 626 Additional entries specific to a square or circle annotation 631 Additional entries specific to a polygon or polyline annotation 632 Additional entries specific to text markup annotations 634 Additional entries specific to a caret annotation 635 Additional entries specific to a rubber stamp annotation 635 Additional entries specific to an ink annotation 636 Additional entries specific to a pop-up annotation 637 Additional entries specific to a file attachment annotation 638 Additional entries specific to a sound annotation 638 Additional entries specific to a movie annotation 639 Additional entries specific to a screen annotation 640 Additional entries specific to a widget annotation 641 Entries in an appearance characteristics dictionary 642 Additional entries specific to a watermark annotation 644 Line ending styles 630 Entries in an annotation’s additional-actions dictionary 649 Entries in a page object’s additional-actions dictionary 650 Entries in a form field’s additional-actions dictionary 651 Entries in the document catalog’s additional-actions dictionary 651 Additional entries specific to a go-to action 654 Additional entries specific to a remote go-to action 655 Additional entries specific to an embedded go-to action 656 Action types 653 Entries in a fixed print dictionary 645 Entries common to all action dictionaries 648

Entries specific to a target dictionary 657 Additional entries specific to a launch action 660 Entries in a Windows launch parameter dictionary 660 Additional entries specific to a thread action 661 Additional entries specific to a URI action 662

Entry in a URI dictionary 663

Additional entries specific to a sound action 664

18

Tables

8.59 8.60 8.61 8.62 8.63 8.64 8.65 8.66 8.67 8.68 8.69 8.70 8.71 8.72 8.73 8.74 8.75 8.76 8.77 8.78 8.79 8.80 8.81 8.82 8.83 8.84 8.85 8.86 8.87 8.88 8.89 8.90 8.91 8.92 8.93 8.94 8.95 8.96 8.97 8.98 8.99

Additional entries specific to a movie action 665 Additional entries specific to a hide action 666

Named actions 666

Additional entries specific to named actions 667 Additional entries specific to a set-OCG-state action 667 Additional entries specific to a rendition action 669 Additional entries specific to a transition action 670 Additional entries specific to a go-to-3D-view action 670

Entries in the interactive form dictionary 672

Signature flags 674

Entries common to all field dictionaries 675 Field flags common to all field types 676

Additional entries common to all fields containing variable text 678

XHTML elements used in rich text strings 681 Attributes of the element 681 CSS2 style attributes used in rich text strings 682

Field flags specific to button fields 686

Additional entry specific to check box and radio button fields 688 Field flags specific to text fields 691 Additional entry specific to a text field 692 Field flags specific to choice fields 693 Additional entries specific to a choice field 694 Additional entries specific to a signature field 696 Entries in a signature field lock dictionary 697 Entries in a signature field seed value dictionary 697 Entries in a certificate seed value dictionary 700 Additional entries specific to a submit-form action 703

Flags for submit-form actions 704

Additional entries specific to a reset-form action 707

Flag for reset-form actions 708

Additional entries specific to an import-data action 708 Additional entries specific to a JavaScript action 709

Entry in the FDF trailer dictionary 713 Entries in the FDF catalog dictionary 714

Entries in the FDF dictionary 714

Additional entry in an embedded file stream dictionary for an encrypted FDF file 716

Entries in the JavaScript dictionary 716 Entries in an FDF field dictionary 717 Entries in an icon fit dictionary 719 Entries in an FDF page dictionary 720

Entries in an FDF template dictionary 721 8.100 Entries in an FDF named page reference dictionary 721

19

Tables

8.101 Additional entry for annotation dictionaries in an FDF file 722 8.102 Entries in a signature dictionary 727 8.103 Entries in a signature reference dictionary 730 8.104 Entries in the DocMDP transform parameters dictionary 733 8.105 Entries in the UR transform parameters dictionary 734 8.106 Entries in the FieldMDP transform parameters dictionary 736 8.109 Entries in a viewport dictionary 745 8.110 Entries in a measure dictionary 746 8.111 Additional entries in a rectilinear measure dictionary 746 8.112 Entries in a number format dictionary 748 8.113 Entries common to all requirement dictionaries 751 8.114 Entries in a requirement handler dictionary 752 9.1 Entries common to all rendition dictionaries 759 9.2 Entries in a rendition MH/BE dictionary 760 9.3 Entries in a media criteria dictionary 760 9.4 Entries in a minimum bit depth dictionary 761 9.5 Entries in a minimum screen size dictionary 762 9.6 Additional entries in a media rendition dictionary 762 9.7 Additional entries specific to a selector rendition dictionary 763 8.107 Entries in a permissions dictionary 741 8.108 Entries in a legal attestation dictionary 742

9.8 9.9

Entries common to all media clip dictionaries 764 Additional entries in a media clip data dictionary 764 Entries in a media permissions dictionary 766 Entries in a media clip data MH/BE dictionary 767 Additional entries in a media clip section dictionary 767 Entries in a media clip section MH/BE dictionary 768 Entries in a media play parameters dictionary 769 Entries in a media play parameters MH/BE dictionary 769 Entries in a media screen parameters dictionary 772 Entries in a media screen parameters MH/BE dictionary 772 Entries in a floating window parameters dictionary 774 Entries common to all media offset dictionaries 775 Additional entries in a media offset time dictionary 776 Additional entries in a media offset frame dictionary 776 Additional entries in a media offset marker dictionary 776 Entries in a media duration dictionary 771

9.10 9.11 9.12 9.13 9.14 9.15 9.16 9.17 9.18 9.19 9.20 9.21 9.22 9.23 9.24 9.25 9.26 9.27 9.28 9.29

Entries in a timespan dictionary 776 Entries in a media players dictionary 777 Entries in a media player info dictionary 779 Entries in a software identifier dictionary 780

Monitor specifier values 782

Additional entries specific to a sound object 783

20

Tables

9.30 9.31 9.32 9.33 9.34 9.35 9.36 9.37 9.38 9.39 9.40 9.41 9.42 9.43 9.44 9.45 9.46 9.47 9.48 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9

Entries in a movie dictionary 784

Entries in a movie activation dictionary 785 Entries in a slideshow dictionary 787 Additional entries specific to a 3D annotation 791 Entries in a 3D activation dictionary 794 Entries in a 3D stream dictionary 797 Entries in an 3D animation style dictionary 799 Entries in a 3D reference dictionary 801 Entries in a 3D view dictionary 804 Entries in a projection dictionary 808 Entries in a 3D background dictionary 812 Entries in a render mode dictionary 813 Animation styles 800

Render modes 815

Entries in a 3D lighting scheme dictionary 817

3D lighting scheme styles 817

Entries in a 3D cross section dictionary 819

Entries in a 3D node dictionary 829

Entries in an external data dictionary used to markup 3D annotations 835

Predefined procedure sets 842

Entries in the document information dictionary 844 Additional entries in a metadata stream dictionary 846 Additional entry for components having metadata 846

Entries in a page-piece dictionary 849 Entries in an application data dictionary 849

Marked-content operators 851

Entries in the mark information dictionary 856

Entries in the structure tree root 857 10.10 Entries in a structure element dictionary 858 10.11 Entries in a marked-content reference dictionary 863 10.12 Entries in an object reference dictionary 868 10.13 Additional dictionary entries for structure element access 870 10.14 Entry common to all attribute object dictionaries 873 10.15 Additional entries in an attribute object dictionary for user properties 876 10.16 Entries in a user property dictionary 876

10.17 Property list entries for artifacts 886 10.18 Derivation of font characteristics 893 10.19 Font Selector Attributes 894 10.20 Standard structure types for grouping elements 899 10.21 Block-level structure elements 901 10.22 Standard structure types for paragraphlike elements 902 10.23 Standard structure types for list elements 902 10.24 Standard structure types for table elements 903

21

Tables

10.25 Standard structure types for inline-level structure elements 905 10.26 Standard structure types for Ruby and Warichu elements ( PDF 1.5 ) 911 10.27 Standard structure types for illustration elements 912

10.28 Standard attribute owners 914 10.29 Standard layout attributes 916

10.30 Standard layout attributes common to all standard structure types 917 10.31 Additional standard layout attributes specific to block-level structure elements 922 10.32 Standard layout attributes specific to inline-level structure elements 926 10.33 Standard column attributes 932

10.34 Standard list attribute 933 10.35 PrintField attributes 934 10.36 Standard table attributes 935

10.37 Entries in the Web Capture information dictionary 947 10.38 Entries common to all Web Capture content sets 953 10.39 Additional entries specific to a Web Capture page set 954 10.40 Additional entries specific to a Web Capture image set 955 10.41 Entries in a source information dictionary 955 10.42 Entries in a URL alias dictionary 957 10.43 Entries in a Web Capture command dictionary 958 10.44 Web Capture command flags 958 10.45 Entries in a Web Capture command settings dictionary 960 10.46 Entries in a box color information dictionary 967 10.47 Entries in a box style dictionary 967 10.48 Additional entries specific to a printer’s mark annotation 968 10.49 Additional entries specific to a printer’s mark form dictionary 968 10.50 Entries in a separation dictionary 969 10.51 Entries in a PDF/X output intent dictionary 971 10.52 Additional entries specific to a trap network annotation 976 10.53 Additional entries specific to a trap network appearance stream 978

10.54 Entry in an OPI version dictionary 979 10.55 Entries in a version 1.3 OPI dictionary 980 10.56 Entries in a version 2.0 OPI dictionary 983 A.1 PDF content stream operators 985 C.1 Architectural limits 992 D.1 Latin-text encodings 996 F.1

Entries in the linearization parameter dictionary 1029

F.2 F.3 F.4 F.5 F.6 F.7

Standard hint tables 1033

Page offset hint table, header section 1041 Page offset hint table, per-page entry 1042 Shared object hint table, header section 1044

Shared object hint table, shared object group entry 1045

Thumbnail hint table, header section 1046

22

Tables

F.8 F.9

Thumbnail hint table, per-page entry 1047

Generic hint table 1048

F.10 F.11 F.12

Extended generic hint table 1049

Embedded file stream hint table, header section 1050 Embedded file stream hint table, per-embedded file stream group entries 1050

G.1 G.2 G.3 G.4 G.5 G.6 H.1 H.2 H.3 H.4

Objects in minimal example 1058

Objects in simple text string example 1060 Objects in simple graphics example 1062

Object usage after adding four text annotations 1075 Object usage after deleting two text annotations 1078 Object usage after adding three text annotations 1080

Abbreviations for standard filter names 1100 Acrobat behavior with unknown filters 1101

Names of standard fonts 1109 Recommended media types 1123

I.1

Data added to object digest for basic object types 1132

Preface

The origins of the Portable Document Format and the Adobe ® Acrobat ® product family date to early 1990. At that time, the PostScript ® page description language was rapidly becoming the worldwide standard for the production of the printed page. PDF builds on the PostScript page description language by layering a docu- ment structure and interactive navigation features on PostScript’s underlying im- aging model, providing a convenient, efficient mechanism enabling documents to be reliably viewed and printed anywhere. The PDF specification was first published at the same time the first Acrobat prod- ucts were introduced in 1993. Since then, updated versions of the specification have been and continue to be available from Adobe on the World Wide Web. It includes the precise documentation of the underlying imaging model from Post- Script along with the PDF-specific features that are combined in version 1.7 of the PDF standard. Over the past eleven years, aided by the explosive growth of the Internet, PDF has become the de facto standard for the electronic exchange of documents. Well over 500 million copies of the free Adobe Reader ® software have been distributed around the world, facilitating efficient sharing of digital content. In addition, PDF is now the industry standard for the intermediate representation of printed mate- rial in electronic prepress systems for conventional printing applications. As ma- jor corporations, government agencies, and educational institutions streamline their operations by replacing paper-based workflow with electronic exchange of information, the impact and opportunity for the application of PDF will continue to grow at a rapid pace. PDF is the file format that underlies the Adobe ® Intelligent Document Platform, facilitating the process of creating, managing, securing, collecting, and exchang- ing digital content on diverse platforms and devices. The Intelligent Document

23

24

Preface

Platform fulfills a set of requirements related to business process needs for the global desktop user, including: • Preservation of document fidelity across the enterprise, independently of the device, platform, and software • Merging of content from diverse sources—Web sites, word processing and spreadsheet programs, scanned documents, photos, and graphics—into one self-contained document while maintaining the integrity of all original source documents • Real-time collaborative editing of documents from multiple locations or plat- forms • Digital signatures to certify authenticity • Security and permissions to allow the creator to retain control of the document and associated rights • Accessibility of content to those with disabilities • Extraction and reuse of content using other file formats and applications • Electronic forms to gather data and integrate it with business systems. The emergence of PDF as a standard for electronic information exchange is the result of concerted effort by many individuals in both the private and public sec- tors. Without the dedication of Adobe employees, our industry partners, and our customers, the widespread acceptance of PDF could not have been achieved. We thank all of you for your continuing support and creative contributions to the success of PDF. Chuck Geschke and John Warnock November 2004

CHAPTER 1

1 Introduction

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 perfor- mance 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. This book provides a description of the PDF file format and is intended primarily for developers of PDF producer applications that create PDF files directly. It also contains enough information to allow developers to write PDF consumer applica- tions that read existing PDF files and interpret or modify their contents. Although the PDF Reference is independent of any particular software implemen- tation, some PDF features are best explained by describing the way they are pro- cessed by a typical application program. In such cases, this book uses the Acrobat family of PDF viewer applications as its model. (The prototypical viewer is the fully capable Acrobat product, not the limited Adobe Reader ® product.) Appendix C discusses some implementation limits in the Acrobat viewer applications, even though these limits are not part of the file format itself. Appendix H provides compatibility and implementation notes that describe how Acrobat viewers be- have when they encounter newer features they do not understand and specify ar- eas in which the Acrobat products diverge from the specification presented in

1.1 About This Book

25

26

Introduction

CHAPTER 1

this book. Implementors of PDF producer and consumer applications can use this information as guidance. This edition of the PDF Reference describes version 1.7 of PDF. (See implementa- tion note 1 in Appendix H.) Throughout the book, information specific to partic- ular versions of PDF is marked with indicators such as (PDF 1.3) or (PDF 1.4) . Features so marked may be new or substantially redefined in that version. Fea- tures designated (PDF 1.0) have generally been superseded in later versions; un- less otherwise stated, features identified as specific to other versions are understood to be available in later versions as well. (PDF consumer applications designed for a specific PDF version generally ignore newer features they do not recognize; implementation notes in Appendix H point out exceptions.) Note: In this edition, the term consumer is generally used to refer to PDF processing applications; viewer is reserved for applications that implement features that inter- act with users. This distinction is not always clear, however, since non-interactive applications may process objects in PDF documents (such as annotations) that rep- resent interactive features. 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 docu- ment 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 descrip- tions 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.

27

About This Book

SECTION 1.1

• Chapter 8, “Interactive Features,” describes those features of PDF that allow a user to interact with a document on the screen by using the mouse and key- board. • Chapter 9, “Multimedia Features,” describes those features of PDF that support embedding and playing multimedia content, including video, music and 3D artwork. • Chapter 10, “Document Interchange,” shows how PDF documents can incor- porate higher-level information that is useful for the interchange of documents among applications. • 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 oper- ators 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 en- codings that are assumed to be predefined in any PDF consumer application. • Appendix E, “PDF Name Registry,” discusses a registry, maintained for devel- opers 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 organiza- tion 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 consumer appli- cations should handle PDF files containing features that they do not recognize. • Appendix I, “Computation of Object Digests,” describes in detail an algorithm for calculating an object digest (discussed in Section 8.7, “Digital Signatures”).

28

Introduction

CHAPTER 1

A color plate section provides illustrations of some of PDF’s color-related fea- tures. 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.

1.2 Introduction to PDF 1.7 Features

Several features have been introduced or modified in PDF 1.7. The following is a list of the most significant additions, along with references to the primary sec- tions where those additions are discussed:

1.2.1 Presentation of 3D Artwork

PDF 1.7 introduces new features that increase the control the PDF viewing appli- cation has over the appearance and behavior of 3D artwork: • More control over the appearance of 3D artwork, without having to change the original artwork and without the use of embedded JavaScript. Specific views of 3D artwork can specify how that artwork should be rendered, colored, lit, and cross-sectioned. They can also specify which nodes (three-dimensional areas) of 3D artwork should be included in a view, where those nodes should be placed in the view, and whether they should be transparent. These features can expose areas of geometry that would otherwise be difficult to view. • The ability to place markup annotations on specific views of 3D artwork. This ensures that markups applied to 3D artwork can later be shown properly with respect to both the artwork as a whole and individual elements within the art- work. Markup annotations applied to 3D artwork provide a means of ensuring the artwork has not changed since the markup annotation was applied. • Control over the user interfaces and toolbars presented on activation of 3D art- work. • Control over the timeframe, repetition, and style of play of keyframe anima- tions. The styles of play are linear repetition (as in a walking character) and a cosine-based repetition (as in an exploding-contracting image).

29

Introduction to PDF 1.7 Features

SECTION 1.2

1.2.2 Interactive Features

Several additions to markup annotations make them more suitable for technical communication and review, or for use in a legal setting.

Interactive Features That Aid Technical Communication

Several additions to markup annotations aid technical communication and review: • The addition of dimension intents for polyline and polygon markup annota- tions. Dimension intent supports the association of user-provided dimension information with the line segments that compose polyline and polygon markup annotations. This feature is similar to the dimension intent introduced for line markup annotations in PDF 1.6. • The ability to specify units and scaling for the dimension intents of line, polyline, and polygon markup annotations. This feature enables users to mea- sure distances in the document, such as the width of an architectural diagram or the diameter of a 3D cross section. • The ability to place markup annotations on specific views of 3D artwork • The ability to lock the contents of an annotation One addition to markup annotations is intended for use in a legal setting, espe- cially banking. The addition of new viewer preference settings that specify print characteristics, such as paper selection and handling, page range, copies, and scaling. When a user prints a PDF document with those viewer preference set- tings, the print dialog is pre-populated as specified in those settings. This capabil- ity increases the predictability of how PDF documents are printed, which can make PDF documents more suitable for use in a legal setting. Interactive Feature for Use in a Legal Setting

1.2.3 Accessibility Related Features

Additions to TaggedPDF identify the roles of more types of page content: • The ability to identify the roles of form fields in non-interactive PDF docu- ments. This change identifies button fields (pushbuttons, check boxes and ra- dio buttons) and text fields (populated or unpopulated).

Page 1 Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Page 11 Page 12 Page 13 Page 14 Page 15 Page 16 Page 17 Page 18 Page 19 Page 20 Page 21 Page 22 Page 23 Page 24 Page 25 Page 26 Page 27 Page 28 Page 29 Page 30 Page 31 Page 32 Page 33 Page 34 Page 35 Page 36 Page 37 Page 38 Page 39 Page 40 Page 41 Page 42 Page 43 Page 44 Page 45 Page 46 Page 47 Page 48 Page 49 Page 50 Page 51 Page 52 Page 53 Page 54 Page 55 Page 56 Page 57 Page 58 Page 59 Page 60 Page 61 Page 62 Page 63 Page 64 Page 65 Page 66 Page 67 Page 68 Page 69 Page 70 Page 71 Page 72 Page 73 Page 74 Page 75 Page 76 Page 77 Page 78 Page 79 Page 80 Page 81 Page 82 Page 83 Page 84 Page 85 Page 86 Page 87 Page 88 Page 89 Page 90 Page 91 Page 92 Page 93 Page 94 Page 95 Page 96 Page 97 Page 98 Page 99 Page 100 Page 101 Page 102 Page 103 Page 104 Page 105 Page 106 Page 107 Page 108 Page 109 Page 110 Page 111 Page 112 Page 113 Page 114 Page 115 Page 116 Page 117 Page 118 Page 119 Page 120 Page 121 Page 122 Page 123 Page 124 Page 125 Page 126 Page 127 Page 128 Page 129 Page 130 Page 131 Page 132 Page 133 Page 134 Page 135 Page 136 Page 137 Page 138 Page 139 Page 140 Page 141 Page 142 Page 143 Page 144 Page 145 Page 146 Page 147 Page 148 Page 149 Page 150 Page 151 Page 152 Page 153 Page 154 Page 155 Page 156 Page 157 Page 158 Page 159 Page 160 Page 161 Page 162 Page 163 Page 164 Page 165 Page 166 Page 167 Page 168 Page 169 Page 170 Page 171 Page 172 Page 173 Page 174 Page 175 Page 176 Page 177 Page 178 Page 179 Page 180 Page 181 Page 182 Page 183 Page 184 Page 185 Page 186 Page 187 Page 188 Page 189 Page 190 Page 191 Page 192 Page 193 Page 194 Page 195 Page 196 Page 197 Page 198 Page 199 Page 200

Made with FlippingBook - professional solution for displaying marketing and sales documents online