CompressContent
Propriedades do documento
Descrição
Comprime todo content stream de página do documento selecionado no momento. O algoritmo Flate (zlib) é usado, de modo que os streams resultantes levam um filtro /FlateDecode quando o documento é salvo. Streams já comprimidos ficam intocados.
No Windows, o backend zlib-ng embutido é usado em modo compatível com zlib. Builds Win64 linkeditam o conjunto de objetos SIMD do runtime zlib-ng do bcc64x; o Win32 mantém o conjunto de objetos genérico focado em compatibilidade. Código Delphi, ActiveX, DLL e C++Builder existente não precisa de nenhuma mudança no código-fonte
Sintaxe
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
Valores retornados
| 0 | No document is open or compression failed. |
|---|---|
| 1 | Os content streams da página foram comprimidos com sucesso. |
Observações
Esta é uma operação para o documento inteiro. Use CompressPage se você só precisa comprimir a página selecionada no momento. Para controlar se imagens e fontes recém-adicionadas são armazenadas comprimidas, use CompressImages e CompressFonts, respectivamente.
Rode isto uma vez antes de SaveToFile ao encolher um documento recém-construído; a economia costuma ser grande em páginas pesadas de texto e desprezível em páginas compostas majoritariamente por dados de imagem pré-comprimidos.
Exemplo
// Build a document, compress everything, then save
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Compressed document');
PDF.CompressContent; // page streams -> /FlateDecode
PDF.CompressImages(1); // also flate-encode any subsequent images
PDF.SaveToFile('compressed.pdf');