Resource and Image Optimisation

O HotPDF pode reduzir o tamanho do documento carregado sem alterar a semântica de estado gráfico das páginas ou quebrar recursos herdados e aparências de anotações

Consolidação de conteúdo e recursos

Imagens inline repetidas podem virar XObjects de imagem compartilhados depois que os limites de ocorrência e payload são atingidos

Nomes de recursos de página não usados são removidos de forma conservadora após escanear conteúdo de páginas, Form XObjects aninhados e appearance streams de anotações

Streams de conteúdo de página compatíveis são decodificados, unidos com fronteiras seguras de tokens e normalizados em um único stream Flate

Form XObjects e fontes embutidas passam por deduplicação a partir de conteúdo decodificado canônico e grafos de recursos canônicos recursivos, com prefixos de subset de fontes compatíveis normalizados durante a comparação

Subsetting de fontes carregadas

SubsetLoadedFonts rastreia códigos de caracteres pelo conteúdo de páginas, Form XObjects aninhados e appearance streams de anotações, resolve cada código pela codificação de fonte do PDF e pelo mapeamento CID e retém apenas os programas de glifos alcançáveis

Dicionários de fontes, mapas CID, larguras e dados ToUnicode mantêm seus identificadores existentes, porque o subsetting TrueType, CFF e Type 1 preserva IDs ou nomes de glifos; programas embutidos compartilhados agregam o uso de todo dicionário de fonte compatível antes de uma única reescrita

Dependências de contorno de TrueType compostos e COLR v0/v1 são fechadas recursivamente enquanto tabelas de cor, bitmap, variação e shaping permanecem intactas; programas Type 1 PFB, binário dividido e PFA hex preservam CharStrings usados e substituem entradas não usadas por programas endchar válidos de mesmo comprimento

A operação pula um programa de fonte inteiro quando qualquer código usado não pode ser mapeado, adota apenas um candidato raw ou Flate menor e recusa documentos assinados por padrão, de modo que chamadores precisam explicitamente aceitar a invalidação da assinatura

Políticas de imagem

A recompressão JPEG seleciona espaços de cor elegíveis, qualidade de saída e economia mínima de bytes

A otimização JPEG 2000 suporta perfis lossless e visualmente lossless, tiles opcionais e todas as cinco ordens de progressão por meio de um perfil explícito não desativado

A recompressão de custo visual avalia tentativas limitadas de qualidade JPEG ou JPEG 2000 contra a origem decodificada, rejeita candidatos fora dos limites de erro perceptual ou de economia mínima e seleciona a menor pontuação ponderada de erro visual e custo de bytes com desempate determinístico

Dados globais JBIG2 são compartilhados apenas quando os bytes exatos do segmento global decodificado coincidem sob jbspExactGlobalsOnly

O downsampling por DPI efetivo segue matrizes de página e Forms aninhados, decodifica pixels de origem com gestão de cor e reamostra soft masks junto com as imagens às quais pertencem

A conversão de cor na reescrita de imagens converte entradas ICCBased, CalGray e CalRGB suportadas para RGB calibrado, enquanto entradas calibradas não suportadas permanecem intactas em vez de serem convertidas para RGB de processo

DownsampleLoadedImages redimensiona imagens Separation ou DeviceN de 8 bits raw, Flate, LZW, ASCII e RunLength suportadas diretamente no espaço de componentes, preservando o grafo exato de espaços de cor, tint transform, colorantes, faixas de /Decode e semântica de overprint

Imagens spot DCT, JPX, JBIG2 e CCITT permanecem inalteradas quando o codec delas não pode expor as amostras originais das chapas

Use loaded-page colour rewrite quando a saída exigida for um espaço de processo Gray, RGB ou CMYK uniforme entre pintura vetorial, imagens, padrões, shadings, transparência e recursos ICC

Object streams adaptativos

O empacotamento em object streams pode limitar o tamanho dos membros, os bytes do contêiner alvo e a contagem de membros, preservando a localidade de números de objeto e excluindo objetos dirty com probabilidade de mudar de novo

Habilitar o empacotamento adaptativo também requisita a versão de PDF exigida, xref stream e reescrita completa

Primary APIs