🌳Dokumentenbaum: wie die Objekte zusammenhängen

Die Objekte im Body liegen in beliebiger Reihenfolge. Die Struktur entsteht allein durch Referenzen: der Trailer zeigt auf den Katalog, der Katalog auf den Seitenbaum, die Seiten auf Inhalt und Ressourcen. Klicke auf einen Knoten.

/Root/Pages/Kids[0]/Contents/F1/Info/Parent (Rückverweis)TrailertrailerCatalog1 0 objPages2 0 objPage3 0 objContent-Stream4 0 objFont5 0 objInfo6 0 obj

Aus der Beispiel-PDF geparst: startxref → xref → Trailer, dann jeder Referenz gefolgt. Gestrichelt = Rückverweis /Parent.

Objekt 3 · erreicht über /Kids[0]

Page

Ein Blatt: eine Seite. /Parent zeigt zurück (gestrichelt). Attribute wie /MediaBox, /Resources oder /Rotate sind vererbbar – fehlen sie, gilt der Wert des Elternknotens.

<< /Type /Page /Parent 2 0 R /MediaBox [0 0 300 144] /Contents 4 0 R /Resources << /Font << /F1 5 0 R >> >> >>

🧬Größere Dokumente: balancierter Seitenbaum und Vererbung

trailer ── /Root ──► Catalog
                     ├─ /Outlines ──► Lesezeichen
                     ├─ /AcroForm ──► Formularfelder
                     ├─ /Metadata ──► XMP-Stream
                     └─ /Pages ─────► Pages   /Count 5
                                       │  /MediaBox [0 0 595 842]  ◄ vererbt (A4)
                                       │  /Resources << … >>       ◄ vererbt
                                       ├─ Page 1   (erbt beides)
                                       ├─ Pages   /Count 3
                                       │    ├─ Page 2
                                       │    ├─ Page 3
                                       │    └─ Page 4
                                       └─ Page 5   /MediaBox [0 0 842 595]
                                                   (überschreibt: Querformat)
💡 Warum ein Baum und keine Liste?
Ein Leser, der Seite 500 anzeigen will, steigt über /Count gezielt ab, statt 499 Seiten zu laden. Erzeuger bauen den Baum deshalb meist balanciert.
✅ Vererbbare Seitenattribute
/Resources, /MediaBox, /CropBox und /Rotate dürfen an einem Pages-Knoten stehen und gelten dann für alle Seiten darunter – eine Seite kann sie überschreiben (ISO 32000-1, Tabelle 30 und 7.7.3.4).
⚠️ Seitennummer ≠ Objektnummer
Die Reihenfolge der Seiten ergibt sich nur aus /Kids, nicht aus den Objektnummern oder der Lage in der Datei.

📖Wichtige Einträge im Katalog

SchlüsselBedeutungStatus
/Type/CatalogPflicht
/PagesReferenz auf die Wurzel des SeitenbaumsPflicht
/OutlinesLesezeichen-Baum (Gliederung)optional
/NamesNamensbäume (benannte Ziele, eingebettete Dateien, JavaScript)optional
/AcroForminteraktives Formular (Felder)optional, PDF 1.2
/MetadataXMP-Metadaten-Streamoptional, PDF 1.4
/StructTreeRootStruktur-Baum für Tagged PDF (Barrierefreiheit)optional, PDF 1.3
/OCPropertiesoptionale Inhalte (Ebenen)optional, PDF 1.5