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');