CompressPage

Proprietăți pagină

Descriere

Comprimă content stream-ul paginii selectate curent folosind Flate (zlib). Comportamentul este identic cu CompressContent, dar limitat la o singură pagină. Parcurgerea fiecărei pagini cu SelectPage și CompressPage produce același rezultat ca un singur apel al CompressContent, cu avantajul că aplicația poate raporta progres per pagină în UI

Sintaxă

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

Valori returnate

0Eșec — niciun document nu este deschis sau nicio pagină nu este selectată
1Această funcție returnează numărul total de părți de content stream pentru pagina selectată

Observații

Stream-urile deja comprimate sunt sărite, deci apelarea CompressPage de două ori pe aceeași pagină este inofensivă. Build-ul Win64 folosește setul de obiecte SIMD zlib-ng inclus; build-ul Win32 folosește setul generic de obiecte zlib-ng în mod compatibil zlib

Exemplu

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

Consultați și

CompressContent, CompressImages, CompressFonts, SelectPage, PageCount