Deduplikering af importerede ressourcer i THotPDF

Genbruger ækvivalente uforanderlige ressourcer, mens sider kopieres fra ét eller flere kildedokumenter ind i samme måldokument

Delphi-syntaks

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

Beskrivelse

CopyPageFromDocument og beslægtede graf-kopistier danner kanoniske SHA-256-fingeraftryk for indirekte image-, Form XObject-, Pattern-, indlejrede fontprogram-, Font- og ExtGState-ressourcer. Ordbogsnøgler ordnes, inden der hashes, indirekte afhængigheder udledes, og strømindhold hashes uden at dets aktuelle position ændres

Cachen tilhører måldokumentet og forbliver tilgængelig på tværs af sidekopier og på tværs af forskellige kildedokument-instanser. Den ryddes automatisk, når et nyt dokument eller en indlæst parsegraf begynder, eller når en graftransaktion committer eller ruller tilbage

GetImportedResourceDedupStatistics returnerer antallet af cachede ressourcer plus cache-træffere og -missere. ClearImportedResourceDedupCache rydder både elementer og tællere uden at røre objekter, der allerede findes i måldokumentet

Kun indirekte ressourcer deles. Sideoordbøger, annotationer, indholdsstrømme og vilkårlige foranderlige ordbøger modtager fortsat uafhængige kopier

Se også CopyPageFromDocument