Was ist ein PDF-Overlay? Inhaltsstrom und Ebenenlogik
7 Min. Lesezeit
Was geschieht in der Datei, wenn Sie ein PDF über ein anderes legen? Es werden nicht zwei Seiten aufeinandergeklebt, denn in PDF ist eine Seite kein Bild, sondern ein Strom aus Zeichenbefehlen. In diesem Beitrag erklären wir, wie der Overlay-Vorgang in diesen Strom eingreift, wozu XObject-Formularobjekte dienen und warum die Zeichenreihenfolge alles bestimmt.
Seiteninhalt: ein geordneter Zeichenstrom
Jede PDF-Seite hat einen Inhaltsstrom (Content Stream). Dieser Strom ist eine geordnete Liste von Befehlen, die beschreiben, wie die Seite zu zeichnen ist:
q % Grafikzustand speichern
1 0 0 RG % Zeichenfarbe auf Rot setzen
50 700 200 100 re % Rechteck definieren
f % füllen
Q % Grafikzustand wiederherstellen
BT % Textblock beginnen
/F1 12 Tf % Schrift F1 in 12 Punkt wählen
72 650 Td % zur Position gehen
(Hallo) Tj % Text zeichnen
ET % Textblock beenden
Die entscheidende Eigenschaft: Die Befehle werden der Reihe nach ausgeführt, und späteres Zeichnen legt sich über früheres. Es ist wie das Auftragen von Farbe auf eine Leinwand – was Sie zuerst aufgetragen haben, wird verdeckt.
Diese eine Tatsache erklärt die gesamte Logik des Overlays.
Wie das Overlay in den Strom eingefügt wird
Der Overlay-Vorgang fügt den Seiteninhalt der Overlay-Datei in den Seitenstrom des Hauptdokuments ein. Dafür wird eine von zwei Positionen gewählt:
Vordergrund (Overlay): Die Overlay-Befehle werden ans Ende des Stroms angefügt. Weil sie später gezeichnet werden, liegen sie über dem Hauptinhalt.
Hintergrund (Underlay): Die Overlay-Befehle werden an den Anfang des Stroms gesetzt. Weil sie zuerst gezeichnet werden, legt sich der Hauptinhalt darüber.
So einfach ist das. Der Begriff "Ebene" ist hier bildlich gemeint – in der Datei entsteht keine ein- und ausschaltbare Ebene, nur die Reihenfolge der Befehle ändert sich.
Ein technisches Detail ist jedoch zu beachten: das Durchsickern des Grafikzustands. Ändert der Overlay-Strom eine Farbe oder eine Transformationsmatrix und endet, ohne sie zurückzusetzen, wird der anschließende Hauptinhalt mit diesen Einstellungen gezeichnet, und das Dokument zerfällt. Deshalb umschließen saubere Umsetzungen den Overlay-Strom mit den Befehlen q (speichern) und Q (wiederherstellen). Sehen Sie nach einem Overlay unerwartete Farbwechsel oder Verschiebungen in Ihrem Dokument, liegt das meist daran.
XObject-Formular: die Struktur, die Wiederholungen löst
Stellen Sie sich vor, Sie legen einen Briefkopf über ein Dokument mit 80 Seiten. Man könnte die Briefkopfbefehle in den Strom jeder der 80 Seiten einzeln kopieren, doch das wäre Verschwendung – besonders, wenn der Briefkopf ein komplexes Vektorlogo oder ein eingebettetes Bild enthält.
Die Lösung ist das XObject-Formular. Ein Form-XObject ist so etwas wie ein "wiederverwendbarer Zeichenblock": ein eigenständiges Objekt mit eigenem Inhaltsstrom und eigenen Ressourcen. Eine Seite ruft es mit einem einzigen Befehl auf:
q
1 0 0 1 0 0 cm % Transformationsmatrix (Position/Skalierung)
/Briefkopf Do % Das Briefkopf-Formular zeichnen
Q
Das Overlay-Werkzeug wandelt die Seite der Overlay-Datei in ein Form-XObject um und schreibt es einmal in die Datei. Danach fügt es jeder Seite nur diesen zweizeiligen Aufruf hinzu.
Die praktische Folge: Der Zuwachs der Dateigröße ist von der Seitenzahl unabhängig. Ob Sie 10 oder 500 Seiten überlagern – die Daten des Briefkopfs werden einmal gespeichert. Der Zuwachs stammt aus den Ressourcen der Overlay-Datei – eingebettete Schrift, Logobild.
Die Transformationsmatrix: wie die Positionierung erfolgt
Der Befehl cm im Formularaufruf legt eine Transformationsmatrix fest. Diese Matrix besteht aus sechs Zahlen und beschreibt Skalierung, Verschiebung und Drehung zugleich:
a b c d e f cm
Im einfachen Fall wird 1 0 0 1 0 0 verwendet – keine Transformation, das Formular wird in seinen eigenen Koordinaten gezeichnet. Wollen Sie das Overlay 20 Einheiten nach rechts und 30 Einheiten nach oben verschieben, schreiben Sie 1 0 0 1 20 30. Für eine Zeichnung in halber Größe 0.5 0 0 0.5 0 0.
Im PDF-Koordinatensystem liegt der Ursprung in der linken unteren Ecke der Seite, und die y-Achse wächst nach oben. Das ist das Gegenteil der Bildschirmkoordinaten (Ursprung links oben, y wächst nach unten) und eine verbreitete Quelle von Verwirrung bei der Overlay-Ausrichtung.
Weichen die Seitengrößen ab, entsteht hier das Problem. Ist das Hauptdokument A4 (595 × 842 Punkt) und das Overlay Letter (612 × 792 Punkt) und ist die Transformationsmatrix die Einheitsmatrix, richtet sich das Overlay an der linken unteren Ecke aus. Das Ergebnis: Der obere Teil des Overlays liegt 50 Punkt zu tief, und die rechte Seite ragt 17 Punkt über. Deshalb ist es weit verlässlicher, die Overlay-Datei gleich im Zielformat anzulegen, als nachträglich auszurichten.
Ressourcenkonflikte und ihre Lösung
Die Overlay-Datei und das Hauptdokument können unterschiedliche Ressourcen mit denselben internen Namen besitzen. In beiden kann eine Schrift namens /F1 und ein Bild namens /Im1 vorkommen – doch es sind verschiedene Schriften und verschiedene Bilder.
Beim Zusammenführen muss das Werkzeug das auflösen. Der übliche Ansatz: Beim Kopieren der Ressourcen der Overlay-Datei in das Hauptdokument werden kollidierende Namen umbenannt (etwa /F1 → /Ov_F1), und die Verweise innerhalb des Form-XObjects werden entsprechend aktualisiert.
Das hat einen Nebeneffekt: Dieselbe Schrift kann zweimal in der Datei liegen. Ist im Hauptdokument Arial eingebettet und in der Overlay-Datei ebenfalls Arial, liegen beide als getrennte Objekte vor. Die Dateigröße steigt etwas. Die Datei nach dem Overlay durch ein Komprimierungswerkzeug zu schicken bereinigt solche Doppelungen meist.
Transparenz: warum sie sich nicht nachträglich hinzufügen lässt
Legen Sie das Overlay in den Vordergrund und ist sein Inhalt deckend, verdeckt es alles darunter. Wollen Sie eine wasserzeichenartige Wirkung, ist Transparenz nötig.
In PDF wird Transparenz über das Wörterbuch ExtGState (erweiterter Grafikzustand) definiert. Vor einem Zeichenbefehl wird Folgendes gesetzt:
/GS1 gs % Grafikzustand GS1 anwenden
und im Wörterbuch GS1 stehen Werte wie /ca 0.3 (Fülltransparenz) oder /CA 0.3 (Linientransparenz).
Overlay-Werkzeuge übernehmen den Inhalt der Overlay-Datei in der Regel unverändert und greifen in diese Einstellungen nicht ein. Deshalb muss die Transparenz beim Erzeugen des Overlay-PDFs eingestellt werden – senken Sie in Ihrem Gestaltungsprogramm die Deckkraft des Elements und exportieren Sie es so nach PDF.
Zudem werden Inhalte mit Transparenz meist in eine Transparenzgruppe eingeschlossen. Das sorgt für korrekte Mischungsberechnungen, kann aber in manchen älteren Betrachtern und Druckertreibern abweichend verarbeitet werden. Bei kritischen Druckaufträgen sollte die Ausgabe nach dem Overlay auf einem echten Drucker getestet werden.
Bleibt es Text?
Ja. Der Overlay-Vorgang wandelt Text nicht in ein Bild um; ist der Text in der Overlay-Datei echter Text, bleibt er auch in der zusammengeführten Datei markierbar und durchsuchbar.
Das hat zwei Seiten:
Der Nutzen: Der Organisationsname im Briefkopf taucht in Suchergebnissen auf, das Datum auf dem Stempel lässt sich kopieren, und Dokumentenverarbeitungssysteme können diese Angaben lesen.
Worauf zu achten ist: Ein Overlay ist kein Werkzeug zum Verbergen. Verdecken Sie eine Angabe im Hauptdokument mit einem Overlay, bleibt diese Angabe in der Datei und tritt beim Markieren oder Extrahieren von Text zutage. Zum Entfernen vertraulicher Informationen ist eine Schwärzung nötig – dieser Vorgang löscht den Inhalt physisch aus der Datei.
Echte Ebenen: optionale Inhaltsgruppen
In PDF gibt es auch echte, ein- und ausschaltbare Ebenen: optionale Inhaltsgruppen (OCG – Optional Content Groups). Sie werden in technischen Zeichnungen und Karten verwendet; im Betrachter lassen sich die Ebenen über ein Bedienfeld ein- und ausschalten.
Overlay-Werkzeuge nutzen das meist nicht – sie richten nur die Zeichenreihenfolge ein. Sie können den überlagerten Briefkopf also nicht nachträglich im Betrachter ausschalten; er ist ein dauerhafter Teil des Inhaltsstroms geworden.
Wollen Sie eine abtrennbare Ebene, brauchen Sie spezielle Werkzeuge, die das Overlay als OCG einfügen. Bei vorübergehenden Kennzeichnungen wie einem Entwurfsstempel kann das nützlich sein, im Alltag ist es jedoch selten nötig.
Zusammengefasst
Ein Overlay besteht darin, dem Inhaltsstrom der PDF-Seite neue Zeichenbefehle hinzuzufügen – ans Ende angefügt erscheint es oben, an den Anfang gesetzt unten. Wiederkehrende Overlays werden als XObject-Formularobjekt einmal gespeichert, und jede Seite verweist darauf, weshalb die Dateigröße unabhängig von der Seitenzahl wächst. Die Positionierung erfolgt über die Transformationsmatrix und bezieht sich auf die linke untere Ecke der Seite; abweichende Formate erzeugen deshalb Verschiebungen. Transparenz ist im Grafikzustands-Wörterbuch definiert und lässt sich beim Überlagern nicht hinzufügen, sie muss in der Overlay-Datei bereits vorhanden sein. Und überlagerter Text bleibt echter Text – ein Verhalten, das zugleich nützlich ist und aus Datenschutzsicht bewusst wahrgenommen werden sollte.
Häufig gestellte Fragen
Gibt es in PDF wirklich so etwas wie 'Ebenen'?
Es gibt zwei verschiedene Dinge. Zum einen optionale Inhaltsgruppen (OCG) – echte Ebenen, die der Nutzer ein- und ausschalten kann und die in technischen Zeichnungen verwendet werden. Zum anderen die Zeichenreihenfolge: Was im Inhaltsstrom später gezeichnet wird, liegt über dem zuvor Gezeichneten. Der Overlay-Vorgang nutzt in der Regel Letzteres; er erzeugt keine eigene ein- und ausschaltbare Ebene, sondern platziert die Zeichenbefehle lediglich in der richtigen Reihenfolge.
Warum wächst die Dateigröße nach einem Overlay nicht stark?
Weil der Overlay-Inhalt als ein einziges XObject-Formularobjekt einmal in die Datei geschrieben wird und jede Seite darauf verweist. Legen Sie ein Logo über ein Dokument mit 200 Seiten, wird das Logo nicht 200-mal, sondern einmal gespeichert. Der Zuwachs stammt im Wesentlichen aus den Ressourcen der Overlay-Datei (Schrift, Bild) und ist von der Seitenzahl unabhängig.
Kommt es zu Konflikten, wenn in beiden Dateien dieselbe Schrift vorkommt?
Nein, denn beim Zusammenführen werden die Objektnummern neu vergeben und die Ressourcennamen bei Bedarf umbenannt. Verwenden beide Dateien unter dem Namen /F1 unterschiedliche Schriften, trennt das Werkzeug sie durch konfliktfreie Namen. Am Ende können zwei Kopien derselben Schrift in der Datei liegen – das erhöht die Dateigröße etwas, führt aber zu keinem optischen Problem.
Bleibt überlagerter Inhalt als Text markierbar?
Ja, handelt es sich in der Overlay-Datei um echten Text, bleibt er markierbar und durchsuchbar. Der Overlay-Vorgang wandelt Text nicht in ein Bild um. Das bedeutet, dass ein Stempel oder eine Briefkopfangabe in Suchergebnissen auftauchen kann – meist ist das erwünscht, doch aus Datenschutzsicht sollte man sich dieses Verhaltens bewusst sein.
Probieren Sie es gleich mit PDF Bindirme (Overlay) aus.
PDF Bindirme (Overlay) ausprobieren