THotPDF içe aktarılan resource tekilleştirme

Sayfalar bir veya daha fazla kaynak belgeden aynı hedefe kopyalanırken eşdeğer, değişmez resource'ları yeniden kullanır

Delphi sözdizimi

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

Açıklama

CopyPageFromDocument ve ilgili graph kopyalama yolları; dolaylı image, Form XObject, Pattern, gömülü font programı, Font ve ExtGState resource'ları için kanonik SHA-256 parmak izleri üretir. Sözlük anahtarları hash'lenmeden önce sıralanır, dolaylı bağımlılıklar çözümlenir ve stream içeriği mevcut konumu değiştirmeden hash'lenir

Cache, hedef belgeye aittir ve sayfa kopyaları ile farklı kaynak belge örnekleri boyunca kullanılmaya devam eder. Yeni bir belge veya yüklenmiş parse graph başladığında ya da bir graph transaction commit veya rollback edildiğinde otomatik olarak temizlenir

GetImportedResourceDedupStatistics, önbelleğe alınan resource sayısını cache hit ve miss sayılarıyla birlikte döndürür. ClearImportedResourceDedupCache hem girişleri hem sayaçları temizler; hedef belgede halihazırda bulunan nesnelere dokunmaz

Yalnızca dolaylı resource'lar paylaşılır. Sayfa sözlükleri, annotation'lar, content stream'ler ve rastgele değiştirilebilir sözlükler bağımsız kopyalar almaya devam eder

Ayrıca bkz. CopyPageFromDocument