CompressPage

Властивості сторінки

Опис

Стискає потік вмісту поточно вибраної сторінки через Flate (zlib). Поведінка ідентична CompressContent, але обмежена однією сторінкою. Цикл по кожній сторінці з SelectPage і CompressPage дає той самий результат, що й один виклик CompressContent, з перевагою, що застосунок може звітувати прогрес посторінково в UI

Синтаксис

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

Повернуті значення

0Невдача — не відкрито жодного документа чи не вибрано сторінки
1Потік вмісту сторінки стиснуто (або вже був стиснутий і лишений як є)

Примітки

Уже стиснуті потоки пропускаються, тож подвійний виклик CompressPage на тій самій сторінці нешкідливий. Збірка Win64 використовує комплект об'єктів zlib-ng із SIMD; збірка Win32 — загальний комплект об'єктів zlib-ng у сумісному з zlib режимі

Приклад

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