CompressContent
Propriétés du document
Description
Compresse chaque flux de contenu de page du document actuellement sélectionné. L’algorithme Flate (zlib) est utilisé, de sorte que les flux obtenus portent un filtre /FlateDecode lors de l’enregistrement. Les flux déjà compressés restent inchangés
Sous Windows, le moteur zlib-ng fourni est utilisé en mode compatible zlib. Les versions Win64 lient le jeu d’objets SIMD d’exécution bcc64x zlib-ng ; Win32 conserve le jeu générique axé sur la compatibilité. Le code Delphi, ActiveX, DLL et C++Builder existant ne nécessite aucune modification
Syntaxe
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
Valeurs de retour
| 0 | Aucun document n’est ouvert ou la compression a échoué |
|---|---|
| 1 | Les flux de contenu de page ont été compressés |
Remarques
Cette opération concerne tout le document. Utilisez CompressPage pour compresser uniquement la page sélectionnée. Pour contrôler la compression des images et polices nouvellement ajoutées, utilisez respectivement CompressImages et CompressFonts
Exécutez cette opération une fois avant SaveToFile lors de la réduction d’un document nouvellement créé ; le gain est généralement important sur les pages riches en texte et négligeable sur celles constituées surtout de données d’image précompressées
Exemple
// 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');