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