Learning Wrapping up

What changed from 1.4 to 1.7

1.4 App. H1.7 Annex I

Three Adobe releases, then standardization.

None of them added a content-stream operator. The newest, sh, came in PDF 1.3, so 1.4 and 1.7 have exactly the same 73 operators: everything new is in dictionaries, filters and file structure.

PDF 1.5 (2003): compact files and layers

Object streams

Many small non-stream objects packed into one compressed stream. Before 1.5, dictionaries could not be compressed at all, only stream data. This often shrinks files by 20–50%.

7 0 obj
<< /Type /ObjStm /N 3 /First 18 /Filter /FlateDecode /Length … >>
stream
% decompressed: N pairs of "objnum offset", then the objects themselves
1 0 2 40 3 92
<< /Type /Catalog /Pages 2 0 R >> << /Type /Pages … >> << /Type /Page … >>
endstream
endobj

Cannot go in an object stream: streams, objects with generation ≠ 0, the encryption dictionary, the xref stream itself, and in linearized files the linearization dictionary and objects needed for the first page.

Cross-reference streams

The text xref table and trailer are replaced by a /Type /XRef stream whose dictionary is the trailer. Each entry has three binary fields with widths given by /W:

8 0 obj
<< /Type /XRef /Size 9 /W [1 2 1] /Root 1 0 R /Filter /FlateDecode /Length … >>
stream
…binary rows: [type][field2][field3]…
endstream
endobj
startxref
1234
%%EOF
TypeField 2Field 3
0 freenext free objectgeneration
1 in use, uncompressedbyte offsetgeneration
2 in use, in an object streamobject number of the ObjStmindex within it

Hybrid-reference files keep a classic xref table and add /XRefStm to the trailer, so 1.4 readers still work while 1.5 readers also find the compressed objects.

1.7 §7.5.7 Object streams1.7 §7.5.8 Xref streams

Also in 1.5

  • Optional content (layers): /OCProperties in the catalog, OCG dictionaries, and content wrapped in /OC /oc1 BDC … EMC. 1.7 §8.11
  • JPXDecode (JPEG 2000), Crypt filters, and security handler /V 4 with crypt filters.
  • /XFA in the AcroForm dictionary; certification (DocMDP) and usage-rights signatures.

PDF 1.6 (2004): AES, OpenType, 3D

  • AES-128 via the /AESV2 crypt filter method (with /V 4 /R 4).
  • OpenType font programs: /FontFile3 with /Subtype /OpenType.
  • 3D annotations with U3D streams. 1.7 §13.6
  • NChannel DeviceN color, /UserUnit on pages, measurement dictionaries.
  • More embedded-file and attachment features.

Adobe later published errata and a blend-modes addendum for this edition.

PDF 1.7 (2006, ISO 2008): portfolios and standardization

  • Portable collections (PDF portfolios): a /Collection dictionary in the catalog presents embedded files as the main content. 1.7 §12.3.5
  • Document requirements (/Requirements) to state which reader features the file needs. 1.7 §12.10
  • Extensions dictionary (/Extensions with /BaseVersion and /ExtensionLevel), how Adobe later layered AES-256 and other "1.7 extension level 3/8" features on top without changing the version number. 1.7 §7.12
  • ISO 32000-1:2008: same technical content as Adobe's 6th edition, rewritten in ISO style with normative shall/should/may. Adobe granted patent rights for conforming implementations.
Adobe's 1.7 errata is for Adobe's PDF Reference 6th edition, not for ISO 32000-1. Section numbers differ between the two.

Chapter mapping: 1.4 → 1.7

TopicPDF Reference 1.4ISO 32000-1
Syntaxch. 3§7
Graphicsch. 4§8
Textch. 5§9
Renderingch. 6§10
Transparencych. 7§11
Interactive featuresch. 8 (incl. sounds and movies)§12, with multimedia split into §13
Document interchangech. 9§14
Operators, limits, encodings, linearization, examples, compatibilityApp. A, C, D, F, G, HAnnex A, C, D, F, H, I

Rule of thumb: 1.4 chapter N ≈ 1.7 section N + 4.

Q1. Which version introduced object streams and cross-reference streams?
1.41.51.61.7
Check
Q2. Which of these may be stored inside an object stream?
A page content streamThe encryption dictionaryA page dictionaryThe cross-reference stream
Check
Q3. In a cross-reference stream, what does a type 2 entry say about an object?
It is freeIt is at a byte offset in the fileIt is inside an object stream: which one, and its index thereIt is encrypted with a crypt filter
Check
Q4. How many content-stream operators did PDF 1.5, 1.6 and 1.7 add between them?
None31273
Check
Reset4 questions

Section references such as 1.4 §3.4 1.7 §7.5 are to the Adobe PDF Reference, third edition (PDF 1.4) and ISO 32000-1:2008 (PDF 1.7). Where to get them: PDF specifications.