THotPDF-Deduplikation importierter Ressourcen

Verwendet äquivalente unveränderliche Ressourcen wieder, während Seiten aus einem oder mehreren Quelldokumenten in dasselbe Ziel kopiert werden

Delphi-Syntax

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

Beschreibung

CopyPageFromDocument und verwandte Graph-Kopierpfade erzeugen kanonische SHA-256-Fingerabdrücke für indirekte Image-, Form-XObject-, Pattern-, eingebettete Font-Programm-, Font- und ExtGState-Ressourcen. Dictionary-Keys werden vor dem Hashen sortiert, indirekte Abhängigkeiten werden aufgelöst, und Stream-Inhalt wird gehasht, ohne seine aktuelle Position zu verändern

Der Cache gehört zum Zieldokument und bleibt über Seitenkopien und über verschiedene Quelldokument-Instanzen hinweg verfügbar. Er wird automatisch geleert, wenn ein neues Dokument oder ein geladener Parse-Graph beginnt oder wenn eine Graph-Transaktion committet oder zurückgerollt wird

GetImportedResourceDedupStatistics liefert die Anzahl der zwischengespeicherten Ressourcen plus Cache-Treffer und Fehlgriffe. ClearImportedResourceDedupCache leert sowohl Einträge als auch Zähler, ohne Objekte zu verändern, die bereits im Zieldokument vorhanden sind

Nur indirekte Ressourcen werden gemeinsam genutzt. Page-Dictionarys, Anmerkungen, Content-Streams und beliebige veränderliche Dictionarys erhalten weiterhin unabhängige Kopien

Siehe auch CopyPageFromDocument