Was ist ein Objektstrom?
Ein Objektstrom , eingeführt in PDF 1.5, ist eine kompakte Methode, um mehrere indirekte Objekte in einem einzigen PDF-Stream-Objekt zu speichern, oft unter Verwendung von Komprimierungsfiltern (ISO 32000-2).
Im Gegensatz zu Standardobjekten lässt es die Schlüsselwörter obj und endobj weg. Häufig zusammen mit Cross-Reference-Streams verwendet, reduzieren Objekt-Streams die Dateigröße und verbessern die Effizienz in PDF-Dokumenten und unterstützen Funktionen wie logische Struktur oder Metadaten Speicherung.
Was ein Objektstrom einspart
Die meisten Objekte in einem PDF sind klein: ein Wörterbuch, das eine Seite beschreibt, ein Schriftverweis, eine Anmerkung. Werden sie einzeln geschrieben, erzeugt jedes Objekt eigenen Overhead und sie können nicht gemeinsam komprimiert werden. Ein Objektstrom fasst viele dieser kleinen COS Objekte in einem einzigen Stream zusammen und komprimiert sie gemeinsam. Da ähnliche Strukturen nebeneinander besonders gut komprimiert werden, sind die Einsparungen bei einem Dokument mit vielen Seiten oder Anmerkungen erheblich.
Der zugehörige Cross-Reference-Stream
Auf diese Weise gespeicherte Objekte können von der klassischen Cross-Reference-Tabelle, die Byte-Offsets in der Datei selbst verzeichnet, nicht gefunden werden. Dateien, die Objektströme verwenden, nutzen daher auch einen Cross-Reference-Stream, der selbst komprimiert ist und speichert, wo jedes Objekt abgelegt ist, einschließlich des Objektstroms, der es enthält.
Beide wurden gemeinsam mit PDF 1.5 eingeführt. In der Praxis bedeutet das, dass eine solche Datei nicht mehr mit einem einfachen Texteditor lesbar ist und dass ein älterer Viewer, der nur PDF 1.4 unterstützt, sie überhaupt nicht öffnen kann.