CompressPage

Propriedades de página

Descrição

Comprime o fluxo de conteúdo da página atualmente selecionada através de Flate (zlib). O comportamento é idêntico a CompressContent, mas limitado a uma única página. Percorrer todas as páginas com SelectPage e CompressPage produz o mesmo resultado que uma chamada de CompressContent, com a vantagem de a aplicação poder comunicar na interface o progresso por página

Sintaxe

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

Valores devolvidos

0Falha — não existe um documento aberto ou nenhuma página está selecionada
1O fluxo de conteúdo da página foi comprimido (ou já estava comprimido e foi mantido sem alterações)

Observações

Os fluxos já comprimidos são ignorados, pelo que chamar CompressPage duas vezes na mesma página é inofensivo. A compilação Win64 utiliza o conjunto de objetos zlib-ng SIMD incluído; a compilação Win32 utiliza o conjunto genérico de objetos zlib-ng no modo compatível com zlib

Exemplo

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

Consulte também

CompressContent, CompressImages, CompressFonts, SelectPage, PageCount