CompressPage

ページプロパティ

説明

現在選択されているページのコンテンツストリームを Flate(zlib)で圧縮します。動作は CompressContent と同じですが、1 ページだけに限定されます。SelectPage と CompressPage で全ページをループすると、CompressContent を 1 回呼び出した場合と同じ結果になり、アプリケーションが UI でページごとの進捗を報告できる利点があります

構文

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

戻り値

0失敗 — ドキュメントが開かれていないか、ページが選択されていません
1ページのコンテンツストリームが圧縮されました(すでに圧縮済みの場合はそのまま保持されました)

備考

既に圧縮されたストリームはスキップされるため、同じページで CompressPage を 2 回呼び出しても問題はありません Win64 ビルドは同梱の zlib-ng SIMD オブジェクトセットを使用し、Win32 ビルドは zlib 互換モードの汎用 zlib-ng オブジェクトセットを使用します

例

// Compress every page individually so the UI can report progress
var
  I, N: Integer;
begin
  N := PDF.GetPageCount;
  for I := 1 to N do
  begin
    PDF.SelectPage(I);
    PDF.CompressPage;
    ProgressBar1.Position := (I * 100) div N;
    Application.ProcessMessages;
  end;
  PDF.SaveToFile('compressed.pdf');
end;

関連項目

CompressContent、CompressImages、CompressFonts、SelectPage、PageCount