ExternalizeInlineImages

Otimização de documentos, manipulação de imagens, desempenho

Descrição

Encontra imagens inline suportadas byte-idênticas no conteúdo das páginas selecionadas e substitui as definições BI a EI repetidas delas por referências a um único Image XObject compartilhado

Sintaxe

Delphi

Function TPDFlib.ExternalizeInlineImages(Const PageRange: WideString= ''; MinimumOccurrences: Integer= 2): Integer;

Parâmetros

PageRangeUm intervalo de páginas com base 1, como 1,3,5-7, ou uma string vazia para todas as páginas; duplicate page numbers are ignored
MinimumOccurrencesO número mínimo de ocorrências exatas exigido para a promoção, e deve ser ao menos 2

Valores retornados

O número de ocorrências de imagens inline substituídas, ou 0 quando nenhum grupo se qualifica, o intervalo é inválido, o mínimo está abaixo de 2, ou a operação é cancelada antes da aplicação

Observações

O agrupamento considera dimensões, profundidade de bits, flags de image-mask e interpolação, espaço de cores, cadeia de filtros, parâmetros de decodificação, array de decodificação e payload codificado, com indexação SHA-256 seguida de comparação exata

Imagens DeviceGray, DeviceRGB e DeviceCMYK diretas e stencil masks são suportadas; espaços de cor nomeados ou complexos e entradas desconhecidas de dicionário inline permanecem inalterados

Filtros existentes e parâmetros de decode são preservados; um payload sem filtro só é comprimido com Flate quando a representação comprimida é menor

Um grupo é promovido apenas quando uma estimativa conservadora, incluindo o Image XObject, os recursos da página e as instruções de substituição, é menor que os trechos inline originais

A operação relata progresso de coleta e aplicação, responde a Abort nas fronteiras de página, restaura a página selecionada anteriormente e é idempotente

Cancelamento durante a coleta não faz mudanças; cancelamento durante a aplicação mantém as páginas já concluídas

Exemplo

ReplacedImages:= PDF.ExternalizeInlineImages('1-200', 3);
Writeln(ReplacedImages);

Veja também

OptimizeImages, RecompressStreams, NormalizeContentStreams