Deduplicazione delle risorse importate di THotPDF

Riusa le risorse immutabili equivalenti mentre le pagine vengono copiate da uno o più documenti sorgente verso la stessa destinazione

Sintassi Delphi

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

Descrizione

CopyPageFromDocument e i percorsi di copia del grafo correlati creano fingerprint SHA-256 canonici per le risorse indirette di tipo image, Form XObject, Pattern, font program incorporato, Font e ExtGState. Le chiavi dei dictionary vengono ordinate prima dell'hashing, le dipendenze indirette vengono risolte e il contenuto degli stream viene hashato senza cambiarne la posizione corrente

La cache appartiene al documento di destinazione e resta disponibile attraverso le copie di pagina e tra istanze di documenti sorgente diverse. Viene svuotata automaticamente quando inizia un nuovo documento o un grafo di parsing caricato, oppure quando una transazione sul grafo va in commit o in rollback

GetImportedResourceDedupStatistics restituisce il numero di risorse in cache più i cache hit e i cache miss. ClearImportedResourceDedupCache svuota sia le voci sia i contatori senza cambiare gli oggetti già presenti nel documento di destinazione

Vengono condivise solo le risorse indirette. I dictionary di pagina, le annotazioni, i content stream e i dictionary mutabili arbitrari continuano a ricevere copie indipendenti

Vedi anche CopyPageFromDocument