Was ist eine PDF-Datei? | Wissensdatenbank
Einführung
Wie Sie bereits aus dem Artikel über „PDLs“ wissen, handelt es sich bei PDF um eine statische Seitenbeschreibungssprache mit einer streng unveränderlichen Struktur.
PDF ist aufgrund einer Vielzahl von Funktionen, die Entwickler von Adobe zu seiner Spezifikation hinzugefügt haben, eine der, wenn nicht, die beliebteste Seitenbeschreibungssprache. Darüber hinaus stellt Adobe den Benutzern auch Tools zur Verfügung, mit denen diese Funktionen in Dokumenten umgesetzt werden können. Dieser Artikel ist ein kurzer Überblick über die Syntax, Struktur und Funktionen von PDF.
Was ist eine PDF-Datei?
Das ursprüngliche Ziel der Entwicklung von PDF oder abgekürzt Portable Document Format bestand darin, ein Dokumentformat zu schaffen, das zahlreiche Anforderungen des digitalen Dokumentenaustauschs in geräteunabhängigen und auflösungsunabhängigen Umgebungen erfüllt. Zu diesen Anforderungen gehören interaktive Ansicht, leistungsstarke Navigation, geringe Speicherplatzbelegung, gemeinsames Arbeiten an Dokumenten, Unterstützung verschiedener Medieninhalte, Verschlüsselung, Signierung, Formularerstellung, Präsentation usw. Trotz der ursprünglichen Absicht, Unternehmen ein umfassendes Format für den digitalen Dokumentenaustausch zur Verfügung zu stellen, wurden der Spezifikation, allerdings später, auch hochwertige Druckfunktionen hinzugefügt.
Syntax der PDF-Datei
PDF verfügt über ein Bildgebungsmodell, das von PostScript abgeleitet ist, außerdem 1-2 Zeichen lange Operatoren sowie das AI-Format verwendet und außerdem über eine Postfix-BNF-Syntax verfügt, bei der alle erforderlichen Operanden vor dem Operator stehen.
operand1...operandm operator |
Neben der Operatorlänge gibt es einige Unterschiede zwischen PDF- und PostScript-Operatoren. In PDF müssen alle erforderlichen Operanden vor den Operatoren stehen, während in Postscript Operanden aus dem PostScript-Stack abgerufen werden. In PDF gibt der Operator kein Ergebnis zurück, wie es in PostScript der Fall sein kann. Der PDF-Operator führt eine Aktion aus, um eine Seite zu erstellen, z. B. das Zeichnen von Grafiken oder Text oder legt eine Eigenschaft in einer Grafikumgebung fest. In PostScript erledigen Operatoren die ganze Arbeit.
Normalerweise werden die meisten Inhalte von PDF-Dateien mit Flate-Kodierung komprimiert und sind auf diese Weise binär. Neben der Komprimierung können PDF-Dateien auch verschlüsselt werden, um den Zugriff auf Dokumentinhalte einzuschränken. Daher muss die gesamte Datei als Binärdatei behandelt werden. Nur wenn eine PDF-Datei weder komprimiert noch verschlüsselt ist und keine binären Inhalte wie Bilder, Ton, Video usw. enthält, kann sie als Textdatei betrachtet werden.
PDF-Spezifikationsobjekte
In der PDF-Spezifikation ist das Objekt ein Synonym für Typ, während es in PostScript Typen gibt, die primitiv und komplex sein können und letztere als „Objekte“ bezeichnet werden können. Daher sind alle Typen in PDF, ob einfach oder komplex, Objekte. Die PDF-Sprache besteht aus booleschen Werten, Ganzzahlen, reellen Zahlen, Namen, Zeichenfolgen, Arrays, Wörterbüchern und Streams. Zeichenfolgen können im Literal- oder Hexadezimalformat vorliegen, wie unten gezeigt.
( This is a string )<4E6F762073686D6F7A206B6120706F702E> | literal formathexadecimal format |
Arrays werden durch eckige Klammern begrenzt. Es enthält einen Untertyp „Rechteck“ – ein Array mit 4 Elementen.
Wörterbücher speichern die Daten in Schlüssel-Wert-Paaren, wobei der Schlüssel ein Name oder eine Zeichenfolge (für Namenswörterbücher) und der Wert ein Objekt oder eine Objektreferenz ist. Es steht in doppelten spitzen Klammern. Wörterbücher verfügen über ein Feld Typ, das anzeigt, welche Daten in einem bestimmten Wörterbuch gespeichert sind.
<< /Type /Example /Subtype /DictionaryExample /Version 0 . 01 /IntegerItem 12 /StringItem ( a string ) /Subdictionary << /Item1 0 . 4 /Item2 true /LastItem ( not ! ) /VeryLastItem ( OK ) >>>>endobj |
Objekte können direkt und indirekt sein. Indirekte Objekte sind solche, auf die über ihre ID von anderen Objekten verwiesen werden kann.
Streams sind Objekte, die normalerweise binäre oder codierte Daten enthalten. Sie sind für Menschen nicht lesbar und unterliegen keiner Längenbeschränkung. Normalerweise enthalten PDF-Dateiströme komprimierte Seiteninhalte oder Bilder oder andere Medien. Das Stream-Objekt besteht aus einem direkten Wörterbuch mit der Länge des Streams und einem Array von Filtern, die zum Codieren des Streams verwendet werden, sowie aus codierten Daten nach dem Schlüsselwort stream.
181 0 obj << /Length 473 0 R /Subtype /Image /Width 2 /Height 19 /BitsPerComponent 8 /ColorSpace /DeviceGray /Filter [/ASCII85Decode /FlateDecode] >>streamGb"[2*s<F2i'/7_!,1%/hZ~>endstreamendobj |
PDF-Operatoren
Operatoren sind eine Art direkte Objekte, die Seitengrafiken erstellen und, wie bereits erwähnt, durch Schlüsselwörter mit einem oder zwei Buchstaben dargestellt werden. Es gibt zwei Arten von PDF-Operatoren:
* Ausführen von Aktionen oder Festlegen von Eigenschaften des Grafikstatus.
PDF operator x y mx y lx1 y1 x2 y2 x3 y3 chx y Breite Höhe rea b c d e f cmSsfFWfont size TfcharSpace TcqQlineWidth wlineCap Jfont size TfcharSpace Tc | Description einen neuen Unterpfad beginnen, indem der aktuelle Punkt zu den Koordinaten (x, y) verschoben wirdein gerades Liniensegment vom aktuellen Punkt zum Punkt (x, y) anhängeneine kubische Bézierkurve an den aktuellen Pfad anhängenden aktuellen Unterpfad schließenein Rechteck an den aktuellen Pfad anhängendie aktuelle Transformationsmatrix ändern, indem die angegebene Matrix verkettet wirdden Pfad streichenderselbe, aber naher Pfadden Pfad füllenderselbe, aber naher Pfadden aktuellen Beschneidungspfad ändern, indem er mit dem aktuellen Pfad geschnitten wirddie Textschriftart auf font und die Textschriftgröße auf size einstellenden Zeichenabstand auf charSpace einstellenden aktuellen Grafikstatus im Grafikstatusstapel speichernGrafikstatus aus dem Grafikstatusstapel wiederherstellenLinienbreite im Grafikstatus festlegenLinienabschlussstil im Grafikstatus festlegenTextschriftart auf font und Textschriftgröße auf size festlegenZeichenabstand auf charSpace festlegen |
* Gruppierung
PDF operator BT...ETBI...EIBMC...EMCBX...EX | Description Beginn und Ende eines TextobjektsBeginn und Ende eines BildobjektsBeginn und Ende einer Sequenz mit markiertem InhaltBeginn und Ende eines Kompatibilitätsabschnitts |
Spezielle Arten von Gruppierungsoperatoren sind BX…EX. Sie umschließen Teile des Seiteninhalts, in denen nicht identifizierte Objekte ignoriert werden müssen. Somit sind sie Äquivalente zu KI-%_-Pseudokommentaren.
PDF-Dateistruktur
Die PDF-Datei enthält vier obligatorische Strukturelemente.
- Einzeiliger Header, in den die Version der PDF-Sprache geschrieben wird
%PDF-1.5 |
Hauptteil, der die Objekte des Dokuments enthält. Der Aufbau des Körpers wird später in diesem Artikel beschrieben.
Querverweistabelle. Es wird für den schnellen Direktzugriff auf die Objekte des Dokuments verwendet. Es enthält einen Offset in Bytes zum Anfang der Objekte vom Anfang der Datei.
xref0 60000000003 65535 f0000000017 00000 n0000000081 00000 n0000000000 00007 f0000000331 00000 n0000000409 00000 n |
- Trailer, verweist auf die letzte Querverweistabelle und enthält eine gemeinsame Menge von Objekten in Querverweistabellen, Die ID des Dokuments und Verweise auf:
- vorherige Querverweistabelle, falls in der Datei mehrere vorhanden sind;
- Dokumentstamm, der durch das Katalogwörterbuch dargestellt wird;
- Metainformationswörterbuch mit Feldern für Autor, Ersteller, Titel, Schlüsselwörter, Erstellungs- und Änderungsdatum;
- Verschlüsselungswörterbuch, wenn das Dokument verschlüsselt ist.
trailer << /Size 15 /Root 2 0 R /Info 1 0 R >>startxref6224 |
Nach jeder Aktualisierung des Dokuments werden eine neue Querverweistabelle und ein neuer Trailer hinzugefügt. Es wird später im Artikel beschrieben.
Dokumentenstruktur
Das PDF-Dokument hat eine baumartige Struktur, wobei die Wurzel ein Katalogwörterbuch ist.
Der Katalog enthält Verweise auf den Seitenbeschreibungsteilbaum, den Gliederungsteilbaum und andere Teilbäume und Blattknoten auf Dokumentebene.
2 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 4 0 R /PageMode /UseOutlines /ViewerPreferences 5 0 R /OpenAction [6 0 R /Fit] >>endobj |
Der Seitenbaum enthält die Reihenfolge der Seitenbaumknoten und Seitenblattknoten. Die exakt baumartige Struktur einer Reihe von Seiten ermöglicht zusammen mit dem Suchalgorithmus eine schnelle Navigation durch Tausende von Seiten, um die benötigte Seite zu finden.
Das Seitenwörterbuch enthält einen Verweis auf den Inhaltsstrom, der wie in der Abbildung oben komprimiert oder unkomprimiert sein kann. Im letzten Fall würden wir PDF-Operatoren in für Menschen lesbarem Text sehen, wie in der Abbildung unten.
7 0 obj << /Length 8 0 R >>stream1 0 0 1 0 0 cm0 0 m595 0 l595 842 l0 842 lhWnq/Alpha1 gs0 0 0 rg0 0 0 RG0 Jq0.96593 0.25882 -0.25882 0.96593 0 0 cm1 0 0 1 0 0.25882 cm0.02 w-0.96593 0 m0 -0.25882 l0 -0.25882 0 -0.25882 0 -0.25882 c0.14294 -0.25882 0.25882 -0.14294 0.25882 0 c0.25882 0.14294 0.14294 0.25882 0 0.25882 chSQendstreamendobj |
Neben einem Array von untergeordneten Knoten (es kann sich um Seitenbaum- oder Seitenknoten handeln) enthält das Wörterbuch Verweise auf das Ressourcenwörterbuch, das wiederum auf Schriftarten, ProcSets, Bilder (XObject) usw. verweist.
9 0 obj << /ProcSet 10 0 R /XObject 11 0 R /Font 12 0 R /ExtGState 13 0 R >>endobj |
Anmerkungen und andere Teilbäume werden im Abschnitt „Funktionen“ beiläufig erwähnt
Merkmale
Grafikmöglichkeiten des PDF-Formats
Es macht keinen Sinn, die für die meisten Seitenbeschreibungssprachen üblichen Möglichkeiten beim Zeichnen von Grafiken und Texten zu erwähnen. Wir sagen nur, dass der Umfang der unterstützten Schriftarten und Farbräume derselbe ist wie in PostScript.
Fonts - Adobe Type 0- Adobe Type 1- Compact Fonts (CFF)- Chameleon- TrueType- CID-keyed | Color spaces - DeviceGray- DeviceRGB- DeviceCMYK- DeviceN- Separated colors- Spot- CIE-based |
Transparenz
PDF unterstützt Transparenz.
Externe Dateien
Jede Medien- oder Dokumentdatei kann in eine PDF-Datei eingebettet oder von einem Dokument aus darauf verwiesen werden.
Hyperlinks
Hyperlinks werden in PDF unterstützt.
Wahl- und interaktive Ansicht
PDF ermöglicht es, nur Teile des Inhalts und seines Erscheinungsbilds anzuzeigen, die für eine bestimmte Verwendung erforderlich sind, und die anderen auszublenden. Dies ist beispielsweise beim Importieren von Adobe Illustrator-Grafiken nützlich, die über Ebenen verfügen, von denen einige für die Arbeit in Adobe Illustrator, aber nicht für die Anzeige im Adobe Acrobat Reader erforderlich sind. Ein weiterer Fall einer Wahlansicht kann ein Artikel sein, der in verschiedenen Sprachen verfasst oder für Benutzer mit Behinderungen dargestellt, aber in einem Dokument gespeichert ist. Es kann auch verschiedene Nutzungsvarianten geben: eine Ansicht zum Ansehen, Gestalten und Drucken.
Eine interaktive PDF-Ansicht umfasst folgende Funktionen:
- um Anmerkungen zu Teilen von Dokumenten anzuzeigen/hinzuzufügen;
- zum Bearbeiten des Dokuments mit der Möglichkeit, alle Ausgaben anzuzeigen;
- um den Inhalt des Dokuments in verschiedenen Threads mit Artikeln zu bestimmten Themen zu ordnen.
Eine Anmerkung ist eine Art schwebendes Feld, das Notizen, Ton, Video oder andere Inhalte enthält.
Interaktive Navigation
Die Navigation zwischen verschiedenen Dokumententeilen kann auf verschiedene Arten erfolgen:
- Durchlaufen des Dokuments vom Anfang bis zur erforderlichen Seite Seite für Seite;
- Springen von einem Teil des Dokuments zu einem anderen mit Gliederungselementen;
- Von einer Seite zur anderen springen, indem Sie auf Miniaturbilder klicken;
- Springen von einem Teil des Dokuments zu einem anderen mit Artikel-Thread-Elementen;
- Springen von einem Teil des Dokuments zu einem anderen mithilfe von Ansichtsfenstern und Bewegen zwischen ihnen durch Drücken der
-Taste.
Das Bewegen durch Ansichtsfenster und das Ausblenden einiger Teile des Dokuments wird mithilfe von Ansichtsfenster- und Navigationsknotenwörterbüchern realisiert.
Inkrementelle Updates
Alle Änderungen, die im PDF-Dokument vorgenommen wurden, werden an das Dokument angehängt, ohne dass der vorherige Inhalt gelöscht wird. Und jedes Mal, wenn die Dokumente geändert werden, werden neue XRefs (Querverweistabellen) und Trailer hinzugefügt. Die neue Querverweistabelle enthält Verweise auf hinzugefügte oder entfernte Objekte und auf die bisherige Querverweistabelle. Ein solcher Mechanismus ermöglicht die Zusammenstellung des endgültigen Dokumentinhalts und gleichzeitig die Speicherung vorheriger Zustände des Dokuments.
Leistung
Eine hohe Leistung beim Navigieren durch die Seiten wird durch die baumartige Struktur der Seiten und einen effektiven Suchalgorithmus gewährleistet. Sie kann jedoch weiter gesteigert werden, indem sich wiederholende Grafikelemente in einem Objekt namens Form XObject kombiniert und an allen erforderlichen Stellen ein Objekt verwendet wird. Es gibt auch eine Möglichkeit, das gesamte Dokument für eine leistungsstarke Ansicht zu optimieren. Es ist Linearisierung. Die Linearisierung wurde ursprünglich für die effektive Anzeige von PDF-Dokumenten erfunden, auf die über das Internet zugegriffen wird. Das linearisierte PDF-Dokument ist schreibgeschützt. Jede Änderung daran erfordert eine wiederholte Linearisierung.
Eine hohe Leistung beim Navigieren zwischen Dokumentobjekten wird durch Querverweistabellen erreicht, die Objektoffsets vom Anfang der Datei speichern.
Kompression
Die Komprimierung von PDF-Dokumenten, üblicherweise Flat-Kodierung, ermöglicht die Erstellung großer Dokumente mit relativ geringem Speicherplatzbedarf. Beispielsweise hat die PDF-Spezifikationsdatei, die 758 Seiten mit einer Gliederung, Miniaturansichten, Bildern und Tabellen enthält, eine Größe von etwa 9 MB.
Sicherheit
PDF-Dokumente können verschlüsselt werden, um nur bestimmten Benutzern einen differenzierten Zugriff zu ermöglichen, und sie können signiert werden. Die digitale Signaturfunktion ermöglicht die Authentifizierung der Identität des Benutzers und des Dokumentinhalts. Die digitale Signatur bindet den Dokumentstatus, wenn es mit Benutzerinformationen signiert wird. Die digitale Signatur kann in beliebiger Form vorliegen: vom rein mathematischen zum Netzhaut-Scan, wenn ein entsprechender Signatur-Handler bereitgestellt wird.
Interaktive Formulare
Es wird zum Sammeln von Informationen von Benutzern verwendet. Interaktive Formulare, sogenannte AcroForms, können Benutzerdaten validieren, formatieren und an einen Server senden.
Präsentation
Es gibt mehrere Darstellungsmöglichkeiten im PDF:
- Aktionen, die beim Öffnen des Dokuments ausgeführt werden;
- Aktionen, die beim Öffnen der Seite ausgeführt werden;
- Dauer der Anzeige einer Seite;
- Effekte, die beim Übergang von Seite zu Seite auftreten.
Medieninhalte
Bilder, Töne, Filmausschnitte und 3D-Grafiken können zu PDF-Dokumenten hinzugefügt werden.
Extraktionsdaten
PDF ermöglicht das Hinzufügen bestimmter Markups, die externen Anwendungen die Möglichkeit geben, notwendige Daten zu extrahieren. Dokument mit einem solchen Markup namens Tagged PDF.
Unterstützung in der Druckvorstufe
Die Vorbereitung für die Veröffentlichung umfasst Druckermarkierungen, Farbseparation, Ausgabearten und Überfüllung.
Wozu dient eine PDF-Datei?
Die Hauptanwendung von PDF-Dokumenten ist der elektronische Dokumentenaustausch und die Anzeige in verschiedenen Umgebungen.
Wie erstelle ich eine PDF-Datei?
Die Erstellung und Bearbeitung von PDF-Dokumenten ist in eigenständigen Adobe Acrobat-Anwendungen möglich.
Wie öffne ich eine PDF-Datei?
Sie können PDF-Dateien in der eigenständigen Adobe Acrobat Reader-Anwendung oder im Google Chrome-Browser mit PDF-Plugin öffnen und anzeigen. Auch einfache Dienstprogramme wie Sumatra PDF, Foxit Reader oder Free PDFReader helfen Ihnen dabei. Eine andere Möglichkeit besteht darin, PDFs online anzuzeigen, beispielsweise auf Google Drive.