Darstellung

PDF kennt diverse Optionen, mit denen sich die Darstellung beeinflussen lässt. Am Häufigsten gebraucht werden dabei Einstellungen, die festlegen, in welchem Darstellungsmodus das Dokument geöffnet werden soll. Das ist aber nicht das einzige, was wir verändern können.

Eine Warnung aber im Vornherein: Die meisten Programme beachten nur einige wenige dieser Angaben. Lediglich die Einstellungen zu den Seitennummern sind fast überall unterstützt.

Seitennummern

Die meisten Anzeigeprogramme haben eine Anzeige, welche Seite gerade sichtbar ist. Oft kann man auch auf eine bestimmte Seite springen. Standardmässig wird davon ausgegangen, dass die Seiten von 1 an aufsteigend nummeriert sind.

Bei Büchern ist es aber häufig so, dass die Nummerierung erst bei der ersten Seite des ersten Kapitels beginnt. Der Teil mit Deckblatt, Inhaltsverzeichnis usw. ist meist entweder gar nicht, oder aber separat nummeriert (oft mit römischen Ziffern). Auch bei anderen Dokumenten kommen manchmal abweichende Nummerierungen vor. Wenn aber die angezeigt Nummerierung nicht mit jener auf dem Blatt übereinstimmt, kann dies sehr verwirrend sein. Wenn man versucht, auf eine bestimmte Seitennummer zu springen, und woanders herauskommt, ist die Verwirrung perfekt.

Um dieses Problem zu verhindern, ist es möglich, die Nummerierung ausdrücklich zu definieren. Hierzu wird dem Katalogobjekt ein Eintrag /PageLabels hinzugefügt. Dieser muss als Wert ein Dictionary mit genau einem Eintrag namens /Nums haben. Der Wert dieses Eintrags ist ein Array mit den nummerierten Bereichen. Der Aufbau ist also: /PageLabels << /Nums [ ... ] >>.

Mit den „nummerierten Bereichen“ sind die Teile des Dokuments mit aufeinanderfolgenden Seitennummern (oder ohne Seitennummer) gemeint. In einem Buch hat man häufig deren zwei: Den Teil vor dem ersten Kapitel, und den Teil ab dem ersten Kapitel. Das /Nums Array enthält für jeden Bereich zwei Einträge. Der erste gibt an, ab welcher Seite der Bereich gilt. Der zweite legt die Nummerierung innerhalb des Bereichs fest.

Der Beginn des Bereichs wird mit einer Ganzzahl festgelegt, welche den Abstand in Seiten zum Dokumentanfang darstellt. Der Wert 0 zeigt somit auf das erste Blatt.

Die Nummerierung selbst wird mit einem Dictionary festgelegt. Dieses kann folgende Einträge haben:

/S Stil
/P Prefix
/St Startwert

Der Stil legt fest, wie die Nummer dargestellt werden soll. Möglich sind folgende Werte:

/D normale Dezimalziffern
/R römische Ziffern (Grossschrift)
/r römische Ziffern (Kleinschrift)
/A alphabetisch (Grossschrift)
/a alphabetisch (Kleinschrift)

Wird kein Stil angegeben, so sind die Seiten nicht nummeriert.

Der Prefix, soweit angegeben, ist ein Textstring, der jeweils vor die Seitennummer geschrieben wird. Wurde kein Stil angegeben, so wird nur der Prefix angezeigt.

Der Startwert ist die Nummer der ersten Seite des Bereichs. Dabei muss es sich um eine Ganzzahl grösser 0 handeln. Wird kein Startwert festgelegt, so wird 1 angenommen.

Beispiel:

2 0 obj
<<
/Type /Catalog
/Pages 3 0 R
/PageLabels << /Nums [0 << /S /r >> 4 << /S /D >>] >>
>>
endobj

Damit werden die ersten 4 Seiten des Dokuments mit kleingeschriebenen, römischen Ziffern nummeriert. Ab der fünften Seite wird wieder mit 1 begonnen, und mit normalen Dezimalzahlen nummeriert.

Anzeigemodus beim Öffnen

Normalerweise wird laut Standard jede Seite für sich dargestellt. Versucht man, über den oberen oder unteren Blattrand zu scrollen, so springt die Anzeige zur nächsten Seite. Ein allfällig vorhandenes Inhaltsverzeichnis oder Thumbnails werden standardmässig nicht angezeigt.

All dies lässt sich umstellen. Möglich machen dies zwei optionale Einträge im Katalogobjekt: /PageLayout und /PageMode.

/PageLayout

Dieser Eintrag kann folgende 4 Werte haben:

/SinglePage Jede Seite wird für sich dargestellt.
/OneColumn Die Seiten werden einzeln übereinander dargestellt.
/TwoColumnLeft Jeweils zwei Seiten werden nebeneinander dargestellt.
/TwoColumnRight Wie /TwoColumnLeft mit der ersten Seite einzeln.

Wird der Eintrag weggelassen, so gilt /SinglePage.

Der Unterschied zwischen /SinglePage und /OneColumn wird offensichtlich, wenn man versucht, über das Seitenende zu scrollen. Bei /SinglePage springt die Anzeige direkt zur nächsten Seite. Bei /OneColumn hingegen bekommen wir den unteren Teil der einen Seite zusammen mit dem oberen Teil der nächsten Seite zu sehen.

/TwoColumnLeft und /TwoColumnRight machen dasselbe, zeigen aber zusätzlich immer zwei Seiten als Doppelseite nebeneinander an. /TwoColumnRight zeigt die erste Seite einzeln, und erst die nachfolgenden Seiten als Doppelseiten (für Dokumente mit Deckblatt). Damit kann man sich einen guten Eindruck vom Erscheinungsbild eines Buches machen.

In den meisten Fällen ist /OneColumn die beste Wahl. Manche Programme verwenden daher als Vorgabe diese Einstellung, statt strikt standardkonform /SinglePage.

/PageMode

Dieser Eintrag kann folgende 4 Werte haben:

/UseNone Inhaltsverzeichnis und Thumbnails nicht zeigen
/UseOutlines Inhaltsverzeichnis zeigen
/UseThumbs Thumbnails zeigen
/FullScreen Im Präsentationsmodus öffnen

Wird der Eintrag weggelassen, so gilt /UseNone.

/UseOutlines und /UseThumbs bewirken, dass das Inhaltsverzeichnis bzw. die Thumbnails gleichzeitig mit dem Dokument angezeigt werden. Meistens erfolgt dies in einer Spalte links neben der Seite.

Die Option /FullScreen scheint sich für Präsentationen anzubieten, sollte aber eher gemieden werden. Dies, weil es für die meisten Anwender sehr verwirrend ist, wenn ein PDF direkt im Präsentationsmodus öffnet. /UseThumbs ist üblicherweise die bessere Wahl.

Beispiel:

2 0 obj
<<
/Type /Catalog
/Pages 3 0 R
/PageLayout /OneColumn
/PageMode /UseOutlines
>>
endobj

Damit bekommen wir Einzelseiten mit der Möglichkeit, zwischen den Seiten zu scrollen. Zusätzlich wird das Inhaltsverzeichnis dargestellt.

weitere Einstellungen

Zusätzlich zu den bereits aufgezählten Einstellungen kann das Katalogobjekt noch einen Eintrag /ViewerPreferences enthalten. Dessen Wert ist ein Dictionary, in welchem ein paar weitere Einstellungen vorgenommen werden können.

Das Dictionary kann folgende Einträge haben:

/HideToolbar Icons verstecken
/HideMenubar Menü verstecken
/HideWindowUI Bedienelemente verstecken
/FitWindow Fenstergrösse dem Dokument anpassen
/CenterWindow Fester auf dem Bildschirm zentrieren
/NonFullScreenPageMode /PageMode ausserhalb Präsentationsmodus
/Direction Seitenanordnung

/HideToolbar, /HideMenubar und /HideWindowUI bewirken, sofern sie vorhanden sind und true als Wert haben, dass im Anzeigeprogramm die Icons, das Menü oder die sonstigen Bedienelemente nicht anzeigt werden. Die sonstigen Bedienelemente umfassen auch die Scrollbalken, also Vorsicht.

Falls /FitWindow vorhanden und auf den Wert true gesetzt ist, versucht das Anzeigeprogramm, die Fenstergrösse so zu setzen, und den Zoomfaktor so einzustellen, dass eine Seite gerade vollständig sichtbar ist.

Falls /CenterWindow vorhanden und auf den Wert true gesetzt ist, versucht das Anzeigeprogramm, das Fenster auf dem Bildschirm oder (bei mehreren Schirmen) auf dem Hauptbildschirm in die Mitte zu setzen.

/NonFullScreenPageMode wird nur beachtet, falls im Katalogobjekt /PageMode auf /FullScreen (Präsentationsmodus) steht. In dem Fall gibt der Eintrag an, in welchen /PageMode gewechselt werden soll, wenn der Präsentationsmodus das erste mal verlassen wird. Mögliche Werte sind dementsprechend /UseNone, /UseOutlines oder /UseThumbs. Ohne den Eintrag wird /UseNone angenommen.

/Direction definiert, ob die Seiten hauptsächlich von links nach rechts beschrieben werden, oder umgekehrt. Zudem legt dies fest, ob die Seiten von links nach rechts oder umgekehrt angeordnet sind. Dies kann sich auf die doppelseitige Darstellung, aber auch auf den Druck auswirken.

/L2R Anordnung von links nach rechts
/R2L Anordnung von rechts nach links

Wird der Eintrag weggelassen, so wird eine Anordnung von links nach rechts angenommen.

Beispiel:

2 0 obj
<<
/Type /Catalog
/Pages 3 0 R
/PageMode /FullScreen
/ViewerPreferences << /NonFullScreenPageMode /UseThumbs >>
>>
endobj

Hiermit wird das PDF im Präsentationsmodus geöffnet. Sobald wir den Präsentationsmodus verlassen, bekommen wir eine normale Ansicht mit eingeblendeten Thumbnails.