Hintergrund

Blog

Lizenz des Textes: CC BY-SA 3.0
CC-BY-SA-Logo

Einblick in das Portable Document Format (PDF) aus der Sicht des Transaktionsdrucks

Teilen

In diesem Artikel gebe ich einen kurzen historischen Überblick über das PDF-Format. Außerdem zeige ich einige neue Anwendungsmöglichkeiten und Risiken auf, die dieses neue Format mit sich bringt. Am Ende habe ich zudem noch eine Hallo-Welt-PDF-Datei angefügt.

Personen sitzen an einem Schreibtisch vor zwei Laptops und schreiben auf einen Block Papier.

Ursprünge des Portable Document Formats (PDF)

Das Portable Document Format oder kurz PDF wurde in den frühen 1990er-Jahren von der Firma Adobe Inc. entwickelt. Zu dieser Zeit hat sich das PostScript Format im Bereich des Druckens als eine etablierte Größe neben der Printer Command Language (PCL) und Advanced Function Presentation (AFP) im Bereich der Drucksprachen entwickelt. Mit dem Aufkommen von Betriebssystemen mit grafischen Benutzeroberflächen, wie Microsoft Windows oder Apple Lisa entstand die Notwendigkeit ein Dokumentformat für den elektronischen Datenverkehr zu entwickeln.

Der Apple Lisa von 1983, war einer der ersten Personal Computer, der über eine Maus und ein Betriebssystem mit grafischer Benutzeroberfläche verfügte.
Der Apple Lisa von 1983, war einer der ersten Personal Computer, der über eine Maus und ein Betriebssystem mit grafischer Benutzeroberfläche verfügte.

Die Ingenieure von Adobe Inc. entwickelten das PDF-Format auf der Grundlage von PostScript. Sie verwendeten für PDF das gleiche Dokumentenmodell, wie bei PostScript und fügten eine Dokumentenstruktur und interaktive Elemente hinzu. Das entstandene Dokumentenmodell bietet ein einfaches und effizientes Verfahren, damit diese Dokumente auf allen Plattformen zuverlässig angezeigt und gedruckt werden können.

Der PDF Standard

Die erste PDF-Spezifikation (Version 1.0) wurde im Jahr 1993 von Adobe Inc. veröffentlicht. Darauf folgten sieben weitere Version bis zur Version 1.7, welche im Wesentlichen auch der heute gültigen PDF Version entspricht. Aufgrund der weiten Verbreitung des PDF-Standards ist dieses Dateiformat das de facto Standradformat zur Speicherung und zum Austausch von elektronischen Dokumenten geworden. Aufgrund dieser Tatsache hat Adobe dieses Dateiformat freigegeben und der Internationale Organisation für Normung (ISO) übergeben. Diese Organisation hat das PDF-Format unter dem Standard ISO 32000 normiert. Diese Norm entspricht im Wesentlichen der Version 1.7 der von Adobe herausgegebenen PDF-Spezifikation.

Das deutsche Pendant zur Internationalen Organisation für Normung (ISO) ist das Deutsches Institut für Normung, welches die DIN-Normen herausgibt.
Das deutsche Pendant zur Internationalen Organisation für Normung (ISO) ist das Deutsches Institut für Normung, welches die DIN-Normen herausgibt.

Da PDF mit dem Ziel entwickelt wurde, ein elektronisches Austauschformat zu sein, existieren zusätzliche Anforderungen, die es von den Druckdatenströmen unterscheidet. Drei dieser Anforderungen sind:

  • Das Dokumentenformat sollte möglichst wenig Speicherplatz verbrauchen,
  • das Dokument sollte sich möglichst schnell öffnen und
  • in diesem Dokument sollte sich möglichst schnell navigieren lassen.

0000000713 65535 f
0000000714 65535 f
0000000715 65535 f
trailer
<< 
    /Size 717 /Prev 39249 
    /XRefStm 10501 /Root 1 0 R 
    /Info 3 0 R 
>>
startxref
53637
%%EOF

Beispiel des Endes einer PDF-Datei. Oben sieht man einen Teil der Referenztabelle, anschließend folgt der Trailer gefolgt vom Schlüsselwort startxref und der Kennung %%EOF, welche das Ende der Datei markiert.

PDF Spezialformate

Neben dem allgemeinen PDF-Format hat sich im Laufe der Zeit die Notwendigkeit ergeben, Dokumentenformate für spezielle Anwendungen zu entwickeln. Diese sind insbesondere:

PDF/A für Langzeitarchivierung

Für die Langzeitarchivierung wurde das Format PDF/A entwickelt, welches auf dem Dateiformat PDF basiert. Das Dateiformat PDF hat bezüglich der Langzeitarchivierung einige Nachteile, so ist es in PDF-Dateien möglich Bilder einzubinden, die selbst gar nicht in der PDF-Datei vorkommen. Diese Bilder können beispielsweise auf dem Dateisystem liegen. Das Problem dabei ist, dass diese Bilder ausgetauscht oder entfernt werden können, womit die PDF-Datei den ursprünglichen Inhalt nicht mehr darstellen kann. In der Praxis kommt es dabei häufiger vor, dass so ein Bild versehentlich, aufgrund von Unwissenheit verändert oder entfernt wird.

Am ehesten versteht man die Notwendigkeit der Langzeitarchivierung bei historischen Dokumenten. Viele Museen und Archive digitalisieren ihre historischen Dokumente und stellen Sie der Öffentlichkeit zur Verfügung (→ Wikisource).
Am ehesten versteht man die Notwendigkeit der Langzeitarchivierung bei historischen Dokumenten. Viele Museen und Archive digitalisieren ihre historischen Dokumente und stellen Sie der Öffentlichkeit zur Verfügung (→ Wikisource).

Um den Problemen, die mit der Langzeitarchivierung verbunden sind, zu begegnen, wurden spezielle PDF-Formate entwickelt. Diese speziellen Formate sind PDF-Dateien, wobei nicht alle Funktionen, die das PDF-Format unterstützt, erlaubt werden. Um lediglich die visuelle Reproduzierbarkeit zu gewährleisten, wurden die PDF/A-Varianten PDF/A-1b und PDF/A-2b entwickelt. Fachlich unterscheiden sich die beiden Varianten kaum, der Unterschied liegt vielmehr im internen Aufbau. Mit diesen Varianten wird sichergestellt, dass die PDF-Dateien zu jeder Zeit immer gleich aussehen. Einflüsse von außen, wie zum Beispiel externe Bilder, sind in diesen Dateiformaten nicht zulässig.

Eine eingescannte Seite der Gutenberg-Bibel einer der ersten gedruckten Bücher. Eingescannte Dokumenten werden meist als Vollseitengrafiken gespeichert und sind bei PDF/A-1b und PDF/A-2b erlaubt, da das Dokument dadurch visuell reproduzierbar ist.
Eine eingescannte Seite der Gutenberg-Bibel einer der ersten gedruckten Bücher. Eingescannte Dokumenten werden meist als Vollseitengrafiken gespeichert und sind bei PDF/A-1b und PDF/A-2b erlaubt, da das Dokument dadurch visuell reproduzierbar ist.

Für den Transaktionsdruck reicht die visuelle Reproduzierbarkeit in der Regel aus. Sofern man innerhalb dieser Dateien auch Suchen oder die Texte auswerten möchte, stoßen diese Formate an ihre Grenzen. Hierzu wurden zusätzlich die Varianten PDF/A-1a und PDF/A-2a entwickelt. Diese Varianten stellen neben der visuellen Reproduzierbarkeit auch die Reproduzierbarkeit des Textes sicher. Vollseitengrafiken sind somit kompatibel mit PDF/A-1b und PDF/A-2b, aber nicht mit PDF/A-1a und PDF/A-2a.

<!--?xpacket begin="?" id="W5M0MpCehiHzreSzNTczkc9d"?-->
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.4-c002 1.000000, 0000/00/00-00:00:00        ">
   <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/">
         <xmp:creatortool>pdfanalyser</xmp:creatortool>

Der Anfang einer XMP-Datei, welche auf dem XML-Format basiert und Metadaten über das Dokument enthalten. Diese XMP-Dateien sind in PDF-Dateien, welche auf dem PDF/A-Format basieren, eingebettet.

Mit dem Fortschreiten der Digitalisierung hat sich gezeigt, dass die oben beschrieben Varianten die Anforderungen an einer Langzeitarchivierung nicht vollständig abdecken. Die meisten PDF-Dateien werden automatisiert aus elektronischen Daten erstellt. Die Daten können etwa direkt aus einer Datenbank oder über ein anderes Format wie zum Beispiel XML erzeugt werden. Im Falle von XML-Dateien ist es möglich, die Ursprungsdatei in der PDF-Datei einzubetten. Damit auch die eingebetteten Dateien jederzeit reproduziert werden können, wurde zusätzlich das Format PDF/A-3 entwickelt.

<ram:specifiedtradesettlementmonetarysummation>
<ram:linetotalamount currencyid="EUR">421.52</ram:linetotalamount>
<ram:chargetotalamount currencyid="EUR">9.30</ram:chargetotalamount>
<ram:allowancetotalamount currencyid="EUR">82.60</ram:allowancetotalamount>
<ram:taxbasistotalamount currencyid="EUR">325.42</ram:taxbasistotalamount>
<ram:taxtotalamount currencyid="EUR">123.79</ram:taxtotalamount>
<ram:grandtotalamount currencyid="EUR">36.12</ram:grandtotalamount>
<ram:totalprepaidamount currencyid="EUR">79.13</ram:totalprepaidamount>
<ram:duepayableamount currencyid="EUR">25.50</ram:duepayableamount>
</ram:specifiedtradesettlementmonetarysummation>

Ausschnitt aus einer elektronischen Rechnung im ZUGFeRD-Format, welches auf dem XML-Format basiert und in PDF-Dateien eingebettet werden kann.

Da mit elektronischen Dateiformaten viel mehr Möglichkeiten existieren, als mit analogen Materialien, wie zum Beispiel Papier, sind die Anwendungsmöglichkeiten vielfältiger. In PDF-Dateien können im Bereich der Modellierung 3D-Objekte hinterlegt werden. Hierzu wurde ursprünglich das Format PDF/E entwickelt, welches seit 2020 in der PDF/A-Familie unter dem Namen PDF/A-4 integriert wurde.

3D-Objekte werden meist mit CAD-Programmen erstellt und werden oft im Bereich der Konstruktion, Computersimulation oder auch im 3D-Druck verwendet.
3D-Objekte werden meist mit CAD-Programmen erstellt und werden oft im Bereich der Konstruktion, Computersimulation oder auch im 3D-Druck verwendet.

PDF/X für die Druckvorstufe

Nicht nur im Bereich des Transaktionsdrucks, sondern in nahezu allen Bereichen der Drucktechnik ist es wichtig, Farben elektronisch zu speichern und auf einem Ausgabemedium (Monitor, Papier etc.) möglichst originalgetreu wiederzugeben. Dies bringt einige Probleme mit sich. Grafiken werden heutzutage üblicherweise am Computer erstellt, wobei der Monitor die Farben der Grafiken anzeigt. Die Farben werden an Monitoren mit unterschiedlichen Technologien wie zum Beispiel der Flüssigkristallanzeige oder OLED's gebildet. Die Schwierigkeiten bestehen nun darin, die Farben, die mit einer dieser Technologien erzeugt wurden, in dieselbe Farbe, welche mit einer anderen Technologie erzeugt wurde, zu übersetzen.

Eine vereinfachte Darstellung des Lab-Farbraums, welcher alle wahrnehmbaren Farben beschreibt. Das Dreieck innerhalb von diesem Farbraum entspricht dem Adobe-RGB-Farbraum mit welche der Farbmenge von einigen Bildschirmmonitoren entspricht.
Eine vereinfachte Darstellung des Lab-Farbraums, welcher alle wahrnehmbaren Farben beschreibt. Das Dreieck innerhalb von diesem Farbraum entspricht dem Adobe-RGB-Farbraum mit welche der Farbmenge von einigen Bildschirmmonitoren entspricht.

Alle Farben, die ein Medium darstellen kann, nennt man Farbraum. Die Farben, die man mit einem Monitor darstellen kann, liegen üblicherweise im RGB-Farbraum, die Farben, die ein Drucker darstellen kann im CMYK-Farbraum. Um Farben eines Farbraumes in eine Farbe eines anderen Farbraumes zu übersetzen, bedient man sich ICC-Profilen. ICC-Profile geben, an, wie man Farben aus unterschiedlichen Farbräumen ineinander überführt. Die verschiedenen Normen von PDF/X erlauben das Einbinden von ICC-Profilen, damit die Farben möglichst farbtreu ineinander überführt werden können.

Neben der Farbumwandlung können auch Schmuckfarben in PDF-Dateien abgebildet werden. Schmuckfarben werden im Bereich der Drucktechnik oft dort verwendet, wo die Druckerzeugnisse vor Nachahmungen geschützt werden müssen. Dies betrifft zum Beispiel Bargeld oder auch Versicherungspolicen.

Bargeld ist eines der bekanntesten Beispiele, in denen Schmuckfarben im breiten Maße eingesetzt werden.
Bargeld ist eines der bekanntesten Beispiele, in denen Schmuckfarben im breiten Maße eingesetzt werden.

Grafikmodell

Das Grafikmodell im PDF-Format beschreibt ein Verfahren, wie das Dokument auf einem Ausgabegerät (Monitor, Drucker etc.) ausgegeben werden soll. Während die bisherigen Drucksprachen PCL und AFP ihren Schwerpunkt auf Rastergrafiken gelegt haben, wird im PDF-Format der Schwerpunkt vermehrt auf Vektorgrafiken gelegt. Dies hat den Vorteil, dass Grafiken deutlich weniger Speicher benötigen und diese stufenlos und verlustfrei skaliert (allgemeiner transformiert) werden können. Bilder werden allerdings auch im PDF-Format als Rastergrafik in der Datei hinterlegt.

Vergrößerter Buchstabe S. In der Rastergrafik auf der linken Seite ist der entstehende Qualitätsverlust deutlich zu sehen. Die Vektorgrafik auf der rechten Seite kann verlustfrei skaliert werden.
Vergrößerter Buchstabe S. In der Rastergrafik auf der linken Seite ist der entstehende Qualitätsverlust deutlich zu sehen. Die Vektorgrafik auf der rechten Seite kann verlustfrei skaliert werden.

Dass der Schwerpunkt im PDF-Format auf Vektorgrafiken liegt, gibt diesem Format nahezu grenzenlose Möglichkeiten Inhalte darzustellen. Der Nachteil dieser Zentrierung auf Vektorgrafiken liegt darin, dass jemand, der PDF-Dateien nativ bearbeiten möchte, über entsprechendes Wissen verfügen muss, um diese Grafiken korrekt darzustellen. Hierzu wird ein tiefes Verständnis aus den Bereichen der analytischen Geometrie und der damit in Verbindung stehenden linearen Algebra benötigt (siehe § Beispiel des Grafikmodells anhand einer Transformation eines Textes).

Interaktive Elemente und Sicherheitsrisiken

Durch das Aufkommen von digitalen Dokumenten ergibt sich eine Fülle von neuen Möglichkeiten für diese Dokumente. Einer dieser neuen Möglichkeiten sind interaktive Elemente. Eines der bekanntesten und ältesten dieser Elemente sind die Hyperlinks, welche die Navigation zwischen den Seiten oder den Dokumenten erleichtern. Das Suchen und Blättern, wie in einem Buch, entfällt dabei. Ein Nachteil dieser neuen Möglichkeiten ist, dass durch die Funktionalitäten, die für interaktive Elemente genutzt werden, es auch möglich ist, Schadprogramme über PDF-Dateien zu übertragen. Die meisten dieser Schadprogramme, werden über im Dokument eingebettetes JavaScript verbreitet.

Formulare sind durch interaktive Elemente bequem am Computer auszufüllen, außerdem können PDF-Dateien mit Formularfeldern leichter automatisch von Computerprogrammen ausgewertet werden.
Formulare sind durch interaktive Elemente bequem am Computer auszufüllen, außerdem können PDF-Dateien mit Formularfeldern leichter automatisch von Computerprogrammen ausgewertet werden.

Da PDF-Dateien auch in Bereichen mit höchsten IT-Sicherheitsanforderungen vorkommen, wie zum Beispiel Regierungen und Banken, stellen PDF-Dateien ein Sicherheitsrisiko dar. Adobe hat in seinem Acrobat Reader daher eine Funktion eingebaut, PDF-Dateien in einem Sandbox-Modus anzusehen. Dieser Sandbox-Modus wird im Acrobat Reader geschützter Modus genannt und verhindert das unberechtigte Zugreifen auf Windows-Systemverzeichnisse oder die Windows-Registrierungsdatenbank.

Beispiel des Grafikmodells anhand einer Transformation eines Textes

In diesem Abschnitt möchte ich einmal aufzeigen, wie Text in einer PDF-Datei mit einer Drehung von 60 Grad auf einer Seite aufgebracht wird, um aufzuzeigen, wie die lineare Algebra in PDF-Dateien Anwendung findet. Jede Bewegung oder Verformung eines Textes oder allgemeiner einer Vektorgrafik wird durch eine Abbildungsmatrix beschrieben. Diese Abbildungsmatrix wird in PDF-Dateien durch eine 3 × 3-Matrix beschrieben, die folgendermaßen aussieht:

\( \begin{pmatrix} a & b & 0\\ c & d & 0\\ e & f & 1 \end{pmatrix} = [a\ b\ c\ d\ e\ f] \)

Wenn man einen Text um 60 Grad drehen möchte, muss man dazu die entsprechende Drehmatrix berechnen, welche folgendermaßen aussieht:

\( D= \begin{pmatrix} 0.5 & 0.866 & 0\\ -0.866 & 0.5 & 0\\ 0 & 0 & 1 \end{pmatrix} \)

Ohne Transformation befindet sich der Text direkt auf der x-Achse, also am unteren Rand der Seite. Wenn der Text gedreht wird, dreht sich auch die x-Achse um den entsprechenden Winkel. Wenn man den Text in die Mitte der Seite verschieben möchte, dann muss man den Text an der gedrehten x-Achse entlang verschieben. Eine Verschiebung um 400 Punkte entlang der x-Achse wird durch folgende Matrix beschrieben:

\( T= \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 400 & 0 & 1 \end{pmatrix} \)

Um die Transformation auszuführen, müssen diese beiden Matrizen miteinander multipliziert werden, also:

\( T\times D= \begin{pmatrix} 0.5 & 0.866 & 0\\ -0.866 & 0.5 & 0\\ 200 & 346.4 & 1 \end{pmatrix} \)

Dies entspricht der folgenden Darstellung:

[0.5 0.866 -0.866 0.5 200 346.4]

In den PDF-Befehlen werden nur die sechs Zahlen in der entsprechenden Reihenfolge ausgegeben und der Operator Tm für “Text Matrix“ angefügt. Der entsprechende Ausschnitt in der PDF-Datei sieht folgendermaßen aus:

BT
/Helvetica 24 Tf
0.5 0.866 -0.866 0.5 200 346.4 Tm
(K O P I E)Tj
ET

Ausschnitt aus einer PDF-Datei, wobei der Text KOPIE um 60 Grad gedreht und etwa in der Mitte platziert wird.

Hello-World-PDF-Datei

Im Folgenden habe ich noch mal eine “Hello-World-“-PDF-Datei erstellt. Diese darf nicht ohne Weiteres geändert werden, da in der Datei die Bytepositionen der einzelnen Objekte angegeben sind und diese bei Änderungen nicht mehr passen würden.

%PDF-1.4

6 0 obj
<< /Length 60 >>
stream
1 0 0 1 250 420 cm
BT
/Helvetica 16 Tf
(Hello World!) Tj
ET
endstream
endobj

5 0 obj
<< /Type /Font
   /BaseFont /Helvetica
   /Subtype /Type1
   /Encoding /WinAnsiEncoding
>>
endobj

4 0 obj
<< /Type /Page
    /Parent 3 0 R
    /Resources <<
        /Font << 
            /Helvetica 5 0 R 
        >>
    >>
    /MediaBox[0 0 595 842]
    /Contents 6 0 R 
>>
endobj

3 0 obj
<< /Type /Pages
    /Kids [ 4 0 R ]
    /Count 1 
>>
endobj

2 0 obj
<<  /Type /Catalog 
    /Pages 3 0 R 
>>
endobj

1 0 obj
<< /Creator (Thomas Krakow) >>
endobj
xref
0 9
0000000000 65535 f
0000000537 00000 n
0000000480 00000 n
0000000411 00000 n
0000000227 00000 n
0000000120 00000 n
0000000010 00000 n
trailer
<< /Root 2 0 R >>
startxref
583
%%EOF

Eine Hallo-Welt-PDF-Datei.

Beim Kopieren dieses Codes muss darauf geachtet werden, dass die Zeilenenden durch ein einfaches Line Feed dargestellt werden, da ansonsten die Bytepositionen nicht mehr passen.

Diese Hello-World-PDF-Datei steht ebenfalls auf GitHub Gist zur Verfügung: → Hello-World-PDF-Datei auf GitHub Gist

Hinweis

Dieser Artikel erschien ebenfalls auf der folgenden Webpräsenz:

→ thomas-krakow.de