ExternalizeInlineImages
Dokumentoptimierung, Bildverarbeitung, Leistung
Beschreibung
Findet byteidentische unterstützte Inline-Bilder im ausgewählten Seiteninhalt und ersetzt ihre wiederholten Definitionen von BI bis EI durch Verweise auf ein gemeinsam genutztes Image XObject
Syntax
Delphi
Function TPDFlib.ExternalizeInlineImages(Const PageRange: WideString= ''; MinimumOccurrences: Integer= 2): Integer;Parameter
| PageRange | Ein einsbasierter Seitenbereich wie 1,3,5-7 oder eine leere Zeichenfolge für jede Seite; doppelte Seitennummern werden ignoriert |
|---|---|
| MinimumOccurrences | Die für die Hochstufung erforderliche Mindestanzahl exakter Vorkommen, die mindestens 2 betragen muss |
Rückgabewerte
Die Anzahl ersetzter Inline-Bildvorkommen oder 0, wenn keine Gruppe geeignet ist, der Bereich ungültig ist, das Minimum unter 2 liegt oder der Vorgang vor der Anwendung abgebrochen wird
Anmerkungen
Die Gruppierung umfasst Abmessungen, Bittiefe, Bildmasken- und Interpolationsflags, Farbraum, Filterkette, Dekodierparameter, Dekodierarray und kodierte Nutzdaten; darauf folgen SHA-256-Indizierung und exakter Vergleich
Direkte DeviceGray-, DeviceRGB- und DeviceCMYK-Bilder sowie Schablonenmasken werden unterstützt; benannte oder komplexe Farbräume und unbekannte Inline-Wörterbucheinträge bleiben unverändert
Vorhandene Filter und Decodierungsparameter bleiben erhalten; eine ungefilterte Nutzlast wird nur dann Flate-komprimiert, wenn die komprimierte Darstellung kleiner ist
Eine Gruppe wird nur hochgestuft, wenn eine konservative Schätzung einschließlich Bild-XObject, Seitenressourcen und Ersatzanweisungen kleiner als die ursprünglichen Inline-Bereiche ist
Die Operation meldet den Fortschritt der Erfassung und Anwendung, reagiert an Seitengrenzen auf Abort, stellt die zuvor ausgewählte Seite wieder her und ist idempotent
Ein Abbruch während der Erfassung nimmt keine Änderungen vor; bei einem Abbruch während der Anwendung bleiben bereits abgeschlossene Seiten erhalten
Beispiel
ReplacedImages:= PDF.ExternalizeInlineImages('1-200', 3);
Writeln(ReplacedImages);