CompressPage

Właściwości strony

Opis

Kompresuje strumień zawartości aktualnie wybranej strony za pomocą Flate (zlib). Zachowanie jest identyczne jak w CompressContent, lecz ograniczone do jednej strony. Przejście po wszystkich stronach za pomocą SelectPage i CompressPage daje ten sam wynik co pojedyncze wywołanie CompressContent, przy czym aplikacja może zgłaszać w interfejsie użytkownika postęp dla każdej strony.

Składnia

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

Wartości zwracane

0Niepowodzenie — brak otwartego dokumentu albo nie wybrano strony.
1Strumień zawartości strony został skompresowany (albo był już skompresowany i pozostawiono go bez zmian).

Uwagi

Strumienie już skompresowane są pomijane, dlatego dwukrotne wywołanie CompressPage na tej samej stronie jest nieszkodliwe. Kompilacja Win64 używa dołączonego zestawu obiektów SIMD zlib-ng; kompilacja Win32 używa ogólnego zestawu obiektów zlib-ng w trybie zgodnym z zlib.

Przykład

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

Zobacz również

CompressContent, CompressImages, CompressFonts, SelectPage, PageCount