CompressContent
Dokumenteigenschaften
Beschreibung
Komprimiert jeden Seiteninhaltsstream im aktuell ausgewählten Dokument. Der Flate-Algorithmus (zlib) wird verwendet, sodass die resultierenden Streams beim Speichern des Dokuments einen /FlateDecode-Filter besitzen. Bereits komprimierte Streams bleiben unverändert
Unter Windows wird das gebündelte zlib-ng-Backend im zlib-kompatiblen Modus verwendet. Win64-Builds binden den bcc64x-zlib-ng-Laufzeit-SIMD-Objektsatz ein; Win32 behält den kompatibilitätsorientierten generischen Objektsatz. Vorhandener Delphi-, ActiveX-, DLL- und C++Builder-Code erfordert keine Quelländerungen.
Syntax
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
Rückgabewerte
| 0 | Es ist kein Dokument geöffnet oder die Komprimierung ist fehlgeschlagen |
|---|---|
| 1 | Die Seiteninhaltsstreams wurden erfolgreich komprimiert |
Anmerkungen
Dies ist ein dokumentweiter Vorgang. Verwenden Sie CompressPage, wenn nur die aktuell ausgewählte Seite komprimiert werden soll. Um festzulegen, ob neu hinzugefügte Bilder und Schriftarten komprimiert gespeichert werden, verwenden Sie CompressImages beziehungsweise CompressFonts
Führen Sie dies einmal vor SaveToFile aus, wenn ein neu erstelltes Dokument verkleinert werden soll; bei textlastigen Seiten sind die Einsparungen typischerweise groß, bei Seiten, die überwiegend aus vorkomprimierten Bilddaten bestehen, dagegen gering
Beispiel
// Build a document, compress everything, then save
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Compressed document');
PDF.CompressContent; // page streams -> /FlateDecode
PDF.CompressImages(1); // also flate-encode any subsequent images
PDF.SaveToFile('compressed.pdf');