PDFium Delphi Component Docs

SaveAsObjectStream Methode

Komponente: TPdf  ·  Unit: PDFium
Schreibt eine kompakte PDF 1.5+-Kopie mit begrenzten Objekt-Streams und einem vollständigen Xref-Stream.

Syntax

function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

StreamTStream, der die vollständige Objekt-Stream-PDF empfängt
FileNameAusgabepfad, der erst ersetzt wird, nachdem eine benachbarte temporäre Datei erfolgreich war
OptionNormale Speicheroption oder saRemoveSecurity; saIncremental wird abgewiesen
PdfVersionAusgabeversion ab PDF 1.5 aufwärts oder pvUnknown, um die aktuelle Version zu behalten oder zu aktualisieren
MaxObjectsPerStreamMaximale Objektmitglieder pro ObjStm-Gruppe; Standard ist 100
MaxDecodedBytesPerStreamMaximale dekodierte Mitglieds-Nutzlast pro Gruppe; Standard sind 65536 Bytes

Return Value

Gibt True zurück, wenn die Objekt-Stream-Ausgabe erfolgreich abgeschlossen wurde

Description

Die Methode verwendet zunächst den normalen PDFium-Speicherpfad als semantische Quelle und löst dann die aktive klassische, hybride oder Xref-Stream-Revision auf

Vorhandene Objekt-Stream-Mitglieder werden materialisiert, bevor Referenzen in seitenlokale Reihenfolge neu nummeriert werden

Geeignete Nicht-Stream-Objekte werden sowohl nach Mitgliederzahl als auch nach dekodierter Nutzlastgröße gruppiert und dann nur Flate-komprimiert, wenn Kompression die Gruppe verkleinert

Der Katalog, Stream-Objekte, Signatur-Wörterbücher, indirekte Stream-Längen und übergroße Werte bleiben direkt adressierbar

Ein reiner Xref-Stream verwendet adaptive Feldbreiten und Typ-2-Einträge für jedes komprimierte Mitglied

Constraints

Example

// Kompakte Ausgabe mit begrenzter Direktzugriffs-Dekompression ausbalancieren
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);

See Also

SaveAs, SaveAsLinearized