CompressContent
Propriedades do documento
Descrição
Comprime todos os fluxos de conteúdo das páginas no documento atualmente selecionado. É utilizado o algoritmo Flate (zlib), pelo que os fluxos resultantes contêm um filtro /FlateDecode quando o documento é guardado. Os fluxos já comprimidos permanecem inalterados
No Windows, o backend zlib-ng incluído é utilizado no modo compatível com zlib. As compilações Win64 ligam o conjunto de objetos SIMD em tempo de execução zlib-ng de bcc64x; Win32 mantém o conjunto de objetos genérico centrado na compatibilidade. O código Delphi, ActiveX, DLL e C++Builder existente não necessita de alterações ao código-fonte
Sintaxe
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
Valores devolvidos
| 0 | Nenhum documento aberto ou falha na compressão |
|---|---|
| 1 | Os fluxos de conteúdo das páginas foram comprimidos com êxito |
Observações
Esta é uma operação para todo o documento. Utilize CompressPage se apenas precisar de comprimir a página atualmente selecionada. Para controlar se as imagens e os tipos de letra adicionados posteriormente são armazenados comprimidos, utilize, respetivamente, CompressImages e CompressFonts
Execute esta operação uma vez antes de SaveToFile ao reduzir um documento recém-criado; as poupanças são normalmente grandes em páginas com muito texto e insignificantes em páginas constituídas sobretudo 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');