{{header}} {{object 1 0}} << /Type /Catalog /Pages 2 0 R /Names << /Dests 10 0 R >> /Dests 14 0 R >> endobj {{object 2 0}} << /Type /Pages /Count 4 /Kids [ 5 0 R 6 0 R ] >> endobj % Page number 0. {{object 3 0}} << /Type /Page /Parent 2 0 R /Resources << /Font <> >> /Contents [21 0 R] /MediaBox [0 0 612 792] >> endobj % Page number 1. {{object 4 0}} << /Type /Page /Parent 2 0 R /Resources << /Font <> >> /Contents [22 0 R] /MediaBox [0 0 612 792] >> endobj % Tree node with bad Count, duplicated kids. {{object 5 0}} << /Type /Pages /Parent 2 0 R /Count 2 /Kids [ 3 0 R 3 0 R 3 0 R 3 0 R ] >> endobj % tree node with actual kids {{object 6 0}} << /Type /Pages /Count 2 /Kids [ 3 0 R 4 0 R ] >> % Root of Dests NameTree {{object 10 0}} << /Kids [ 11 0 R 12 0 R ] >> endobj % Left child for Dests NameTree {{object 11 0}} << /Names [ (First) [4 0 R] ] >> endobj % Right child for Dests NameTree {{object 12 0}} << /Names [ (WrongKey) <> (WrongType) /NameNotAllowedHere ] >> endobj % Old-style top-level Dests dictionary. Note that FirstAlternate % intentionally references non-exisstant page 11 and LastAlternate % intentionally references non-existant object 999. {{object 14 0}} << /FirstAlternate [11 /XYZ 200 400 800] /LastAlternate <> >> endobj % Font resource. {{object 15 0}} << /Type /Font /Subtype /Type1 /BaseFont /Arial >> endobj % Content for page 0. {{object 21 0}} << /Length 0 >> stream BT /F1 20 Tf 100 600 TD (Page1)Tj ET endstream endobj % Content for page 1. {{object 22 0}} << /Length 0 >> stream BT /F1 20 Tf 100 600 TD (Page2)Tj ET endstream endobj {{xref}} trailer << /Size 6 /Root 1 0 R >> {{startxref}} %%EOF