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.
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.
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
.
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
.
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.
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.
Diskussion