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 format
hexadecimal 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.

Indirekte PDF-Objekte 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]
  >>
stream
Gb"[2*s<F2i'/7_!,1%/hZ~>
endstream
endobj

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 m
x y l
x1 y1 x2 y2 x3 y3 c
h
x y Breite Höhe re
a b c d e f cm
S
s
f
F
W
font size Tf
charSpace Tc
q
Q
lineWidth w
lineCap J
font size Tf
charSpace Tc

Description

einen neuen Unterpfad beginnen, indem der aktuelle Punkt zu den Koordinaten (x, y) verschoben wird
ein gerades Liniensegment vom aktuellen Punkt zum Punkt (x, y) anhängen
eine kubische Bézierkurve an den aktuellen Pfad anhängen
den aktuellen Unterpfad schließen
ein Rechteck an den aktuellen Pfad anhängen
die aktuelle Transformationsmatrix ändern, indem die angegebene Matrix verkettet wird
den Pfad streichen
derselbe, aber naher Pfad
den Pfad füllen
derselbe, aber naher Pfad
den aktuellen Beschneidungspfad ändern, indem er mit dem aktuellen Pfad geschnitten wird
die Textschriftart auf font und die Textschriftgröße auf size einstellen
den Zeichenabstand auf charSpace einstellen
den aktuellen Grafikstatus im Grafikstatusstapel speichern
Grafikstatus aus dem Grafikstatusstapel wiederherstellen
Linienbreite im Grafikstatus festlegen
Linienabschlussstil im Grafikstatus festlegen
Textschriftart auf font und Textschriftgröße auf size festlegen
Zeichenabstand auf charSpace festlegen

* Gruppierung

PDF operator

BT...ET
BI...EI
BMC...EMC
BX...EX

Description

Beginn und Ende eines Textobjekts
Beginn und Ende eines Bildobjekts
Beginn und Ende einer Sequenz mit markiertem Inhalt
Beginn 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.

PDF-Dateistruktur

  1. Einzeiliger Header, in den die Version der PDF-Sprache geschrieben wird

%PDF-1.5

  1. Hauptteil, der die Objekte des Dokuments enthält. Der Aufbau des Körpers wird später in diesem Artikel beschrieben.

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

xref
0 6
0000000003 65535 f
0000000017 00000 n
0000000081 00000 n
0000000000 00007 f
0000000331 00000 n
0000000409 00000 n

  1. Trailer, verweist auf die letzte Querverweistabelle und enthält eine gemeinsame Menge von Objekten in Querverweistabellen, Die ID des Dokuments und Verweise auf:

trailer
  <<
    /Size 15
    /Root 2 0 R
    /Info 1 0 R
  >>
startxref
6224

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.

PDF-Dokumentstruktur

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.

PDF-Seiteninhaltsstream

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
  >>
stream
1 0 0 1 0 0 cm
0 0 m
595 0 l
595 842 l
0 842 l
h
W
n
q
/Alpha1 gs
0 0 0 rg
0 0 0 RG
0 J
q
0.96593 0.25882 -0.25882 0.96593 0 0 cm
1 0 0 1 0 0.25882 cm
0.02 w
-0.96593 0 m
0 -0.25882 l
0 -0.25882 0 -0.25882 0 -0.25882 c
0.14294 -0.25882 0.25882 -0.14294 0.25882 0 c
0.25882 0.14294 0.14294 0.25882 0 0.25882 c
h
S
Q
endstream
endobj

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 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:

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:

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:

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.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.