Deduplicação de recursos importados do THotPDF

Reutiliza recursos imutáveis equivalentes enquanto páginas são copiadas de um ou mais documentos de origem para o mesmo destino

Sintaxe Delphi

function GetImportedResourceDedupStatistics(
  out Statistics: THPDFImportedResourceDedupStatistics): boolean;
procedure ClearImportedResourceDedupCache;

Descrição

CopyPageFromDocument e os caminhos relacionados de cópia de grafo criam impressões digitais canônicas SHA-256 para recursos indiretos de imagem, Form XObject, Pattern, programa de fonte incorporado, Font e ExtGState. As chaves de dicionário são ordenadas antes da geração do hash, as dependências indiretas são resolvidas e o conteúdo do fluxo é submetido a hash sem alterar sua posição atual

O cache pertence ao documento de destino e permanece disponível entre cópias de páginas e entre diferentes instâncias de documentos de origem. Ele é limpo automaticamente quando um novo documento ou grafo de análise carregado começa, ou quando uma transação de grafo é confirmada ou revertida

GetImportedResourceDedupStatistics retorna o número de recursos em cache mais os acertos e erros de cache. ClearImportedResourceDedupCache limpa tanto as entradas quanto os contadores sem alterar objetos já presentes no documento de destino

Apenas recursos indiretos são compartilhados. Dicionários de página, anotações, fluxos de conteúdo e dicionários mutáveis arbitrários continuam recebendo cópias independentes

Consulte também CopyPageFromDocument