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
| PageRange | Um 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 |
|---|---|
| MinimumOccurrences | O 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);