THotPDF imported resource deduplication

Při kopírování stránek z jednoho nebo více zdrojových dokumentů do stejného cíle znovu používá ekvivalentní neměnné resource

Delphi syntax

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

Popis

CopyPageFromDocument a související cesty kopírování grafu vytvářejí kanonické SHA-256 otisky pro nepřímé resource obrázků, Form XObjectů, Pattern, vložených font programů, Font a ExtGState. Klíče slovníků se před hashováním seřadí, nepřímé závislosti se vyřeší a obsah streamu se zahashuje bez změny jeho aktuální pozice

Cache patří cílovému dokumentu a zůstává dostupná napříč kopírováními stránek i napříč různými instancemi zdrojového dokumentu. Automaticky se vyčistí, když začne nový dokument nebo načtený parse graf, nebo když se graph transaction potvrdí či odroluje

GetImportedResourceDedupStatistics vrátí počet resource v cache plus počet cache hits a misses. ClearImportedResourceDedupCache smaže jak položky, tak čítače, aniž by změnila objekty už přítomné v cílovém dokumentu

Sdílejí se pouze nepřímé resource. Stránkové slovníky, anotace, content streamy a libovolné měnitelné slovníky dál dostávají nezávislé kopie

Viz také CopyPageFromDocument