CompressContent

文書プロパティ

説明

現在選択されているドキュメントの全ページコンテンツストリームを圧縮します。Flate(zlib)アルゴリズムを使用するため、ドキュメント保存時に生成ストリームには /FlateDecode フィルターが設定されます。すでに圧縮済みのストリームは変更されません

Windows では、同梱の zlib-ng バックエンドがzlib 互換モードで使用されます。Win64 ビルドは bcc64x zlib-ng ランタイム SIMD オブジェクトセットをリンクし、Win32 は互換性重視の汎用オブジェクトセットを保持します。既存の Delphi、ActiveX、DLL、C++Builder コードにソース変更は不要です

構文

Delphi

Function TPDFlib.CompressContent: Integer;

ActiveX

Function PDFlib::CompressContent() As Long

DLL

int DLCompressContent(int InstanceID);

戻り値

0ドキュメントが開いていないか、圧縮に失敗しました
1ページコンテンツストリームを正常に圧縮しました

備考

これはドキュメント全体に対する処理です。現在選択しているページだけを圧縮する場合は CompressPage を使用します。新しく追加された画像とフォントを圧縮して格納するかどうかを制御するには、それぞれ CompressImages と CompressFonts を使用します

新しく構築したドキュメントを縮小する場合は、SaveToFile の前にこれを 1 回実行します。通常、テキスト中心のページでは大幅に削減でき、事前圧縮済み画像データが大部分を占めるページでは効果はわずかです

例

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

関連項目

CompressPage、CompressImages、CompressFonts、SaveToFile