Learning Foundations

The big picture

PDF is PostScript's imaging model with the programming language taken out. A PostScript file is a program you run to get pages; a PDF file is a database of objects with an index, where each page carries a small list of drawing instructions. That design makes PDF random-access (jump to page 500 without reading pages 1–499), incrementally editable, and predictable to render.

Four layers

Almost everything in the spec falls into one of four layers. Learn them bottom-up: the next four pages take one each.

Eight value types: booleans, numbers, strings, names, arrays, dictionaries, streams, null. Everything else is built from these.
1.4 §3.21.7 §7.3
Header, body of numbered objects, cross-reference table (byte offsets), trailer. How a reader finds objects.
1.4 §3.41.7 §7.5
A tree of dictionaries: catalog → page tree → pages, plus outlines, forms, metadata, structure tree.
1.4 §3.61.7 §7.7
Postfix drawing operators (m l c re f S BT Tj ET Do…) that paint paths, text and images.
1.4 §3.7, ch. 4–51.7 §7.8, §8–9

Where 1.4 and 1.7 sit

VersionYearAcrobatHeadline additions
1.0–1.31993–20001–4Core syntax and imaging model; encryption (1.1); interactive forms (1.2); digital signatures, smooth shading, logical structure, JavaScript actions (1.3).
1.420015Transparency, Tagged PDF and accessibility, XMP metadata streams, RC4 keys up to 128 bits, JBIG2, catalog /Version, output intents and page boxes for prepress. Base of PDF/A-1 and PDF/X-1a:2003 / X-3:2003.
1.520036Object streams and cross-reference streams (much smaller files), optional content (layers), JPEG 2000 (JPXDecode), crypt filters, XFA forms in AcroForm.
1.620047AES-128 encryption, OpenType font embedding, 3D annotations (U3D), NChannel color, UserUnit for large pages.
1.72006
ISO 32000-1: 2008
8Portable collections (PDF portfolios), document requirements, extensions dictionary. The ISO edition turned Adobe's reference into an open standard; PDF/A-2, PDF/A-3 and PDF/UA-1 build on it.
2.0
ISO 32000-2
2017, 2020n/aOut of scope here.
Think of 1.7 as "1.4 plus four years of additions, rewritten as an ISO standard." The syntax, object model and imaging model are the same. 1.7 changes the vocabulary (conforming reader/writer, shall/should) and adds features, but a solid 1.4 mental model carries over almost unchanged. What changed from 1.4 to 1.7 has the details.

Compatibility rule of thumb

New features are mostly new keys in existing dictionaries, so old readers simply ignore them. The exceptions break rendering outright: a new stream filter, or a 1.5 cross-reference stream that a 1.4 reader cannot parse. Transparency is the notorious middle case: a pre-1.4 reader renders transparent content as opaque without any warning. (1.4 App. H.2, 1.7 Annex I.3)

Q1. A PostScript file is a program you run to get pages. What is a PDF file instead?
A compiled version of the same programA database of numbered objects with an indexA sequence of page imagesAn XML document with embedded fonts
Check
Q2. How different is PDF 1.7 (ISO 32000-1) from PDF 1.4 at its core?
A new syntax and object modelThe same syntax, but a new imaging modelThe same syntax, object model and imaging model, plus later additionsIdentical: ISO only renamed it
Check
Q3. A PDF 1.3 reader opens a file that uses transparency. What happens?
It refuses to open the fileIt shows a warning and skips the transparent objectsIt renders the transparent content correctlyIt renders the transparent content as opaque, without a warning
Check
Reset3 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.