CompressImages

画像処理、ドキュメントプロパティ

説明

この呼び出し後に文書へ追加される生ラスター画像データに適用する既定の圧縮モードを設定します。非圧縮でアップロードされる画像(BMP、生ピクセル配列)に影響し、既に圧縮済みの画像(JPEG、JPEG 2000、CCITT、JBIG2)は既存のエンコーディングを保持してそのまま保存されます。再圧縮するとファイルが膨らみ品質が低下するためです

構文

Delphi

Function TPDFlib.CompressImages(Compress: Integer): Integer;

ActiveX

Function PDFlib::CompressImages(Compress As Long) As Long

DLL

int DLCompressImages(int InstanceID, int Compress);

パラメータ

Compress0 — 未圧縮の生ラスター画像を保存します
1 — 生ラスター画像を flate 圧縮します(/FlateDecode フィルター)

戻り値

0Compress パラメーターが範囲外でした
1画像圧縮設定が更新されました

備考

この設定は、呼び出し後に追加された画像にのみ影響します。既定では圧縮します。flate デコードされた画像ストリームをサポートしない下流レンダラーと統合する場合は圧縮をオフにすると役立つことがありますが、通常は圧縮を有効のままにしてください

Flate 圧縮は可逆圧縮です。生のラスター画像を非可逆 JPEG 圧縮するには、追加前にソースを JPEG にエンコードし、AddImageFromFile または AddImageFromStream を使用します。JPEG バイトストリームは /DCTDecode フィルターで直接埋め込まれます

例

// Compress raw bitmaps but leave the pre-encoded JPEG as-is
PDF.CompressImages(1);
PDF.AddImageFromFile('logo.bmp');        // BMP -> flate compressed
PDF.AddImageFromFile('photo.jpg');       // JPEG bytes embedded directly (DCT)
PDF.AddImageFromFile('chart.png');       // PNG decoded -> flate compressed

関連項目

CompressContent、CompressFonts、AddImageFromFile、AddImageFromStream