NormalizeLZWStreams

Dokumentverwaltung

Beschreibung

Schreibt jeden mit LZWDecode gefilterten Stream als FlateDecode neu. Die Dekodierparameter Predictor, Columns, Colors und BitsPerComponent werden während der Dekompression beachtet, ein einzelner LZWDecode-/Filter-Eintrag wird als Ganzes ersetzt, und innerhalb von Filter-Arrays wird der LZWDecode-Eintrag an Ort und Stelle ausgetauscht, sodass verkettete Filter ihre Reihenfolge behalten

Die LZW-Dekodierung folgt den standardmäßigen Codebreitenübergängen für beide EarlyChange-Werte, einschließlich der Zurücksetzung des Wörterbuchs und des Ende-der-Daten-Codes

Syntax

Delphi

Function TPDFlib.NormalizeLZWStreams: Integer;

Rückgabewerte

Die Anzahl der konvertierten Streams oder 0, wenn das ausgewählte Dokument keine LZWDecode-Streams enthält

Hinweise

LZWDecode reicht bis PDF 1.0 zurück, und mehrere strenge Ausgabeprofile sowie nachgelagerte Werkzeuge bevorzugen FlateDecode; führen Sie diesen Durchlauf daher vor dem Speichern aus, wenn Sie Altdokumente normalisieren. Die Konvertierung ist verlustfrei: dekomprimierte Bytes werden mit Deflate neu komprimiert, und das Stream-Dictionary behält seine übrigen Einträge

Beispiel

PDF.LoadFromFile('legacy.pdf', '');
PDF.NormalizeLZWStreams;
PDF.SaveToFile('legacy-normalized.pdf');