CompressPage

Thuộc tính trang

Mô tả

Nén content stream của trang đang chọn bằng Flate (zlib). Hành vi giống hệt CompressContent nhưng giới hạn một trang. Lặp qua từng trang bằng SelectPage và CompressPage cho kết quả như một lần gọi CompressContent, với lợi thế là ứng dụng có thể báo tiến trình từng trang trong UI

Cú pháp

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

Giá trị trả về

0Failed — no document is open or no page is selected.
1Content stream của trang đã được nén (hoặc vốn đã nén và được giữ nguyên)

Ghi chú

Các stream đã nén sẵn bị bỏ qua, nên gọi CompressPage hai lần trên cùng một trang vô hại. Bản Win64 dùng bộ object SIMD zlib-ng kèm sẵn; bản Win32 dùng bộ object zlib-ng generic ở chế độ tương thích zlib

Ví dụ

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

Xem thêm

CompressContent, CompressImages, CompressFonts, SelectPage, PageCount