Kalıcı Font-Subset Cache'i
Kalıcı font-subset cache'i, sonraki belgeler aynı font içeriğini ve glyph kümesini kullandığında pahalı TrueType veya OpenType subsetting'i tekrarlamayı önler
Yapılandırma
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
Boş bir FontSubsetCacheFolder, font çıktısını değiştirmeden disk cache'lemesini devre dışı bırakır
FontSubsetCacheMaxBytes varsayılanı 256 MiB'dir ve çalışma zamanında küçültülebilir; bu da anında least-recently-used tahliyesini tetikler
İstatistikler
THPDFFontSubsetCacheInfo; HitCount, MissCount, WriteCount, EvictionCount, CorruptCount, RejectedCount, WriteFailureCount, CurrentBytes ve FileCount alanlarını içerir
Doğruluk ve kurtarma
- Cache hit, yalnızca font içeriği, kullanılan glyph'ler, subset modu ve cache schema'sının tamamı eşleştiğinde mümkündür
- Kompakt subset girdileri, PDF/A font dictionary'lerinin gerektirdiği CID remapping verisini korur
- Bozuk veya kesilmiş girdiler, subset bir PDF stream'e ulaşmadan reddedilir ve kaldırılır
- Cache hataları normal in-memory subsetting'e döner ve asla belge üretimini engellemez
- Atomik replacement, okuyucuların yarısı yazılmış bir girdi görmesini engeller
Örnek
var
Info: THPDFFontSubsetCacheInfo;
begin
PDF.EnableFontSubsetting := True;
PDF.FontSubsetCacheFolder := 'C:\ProgramData\MyApp\HotPDF\FontSubsets';
PDF.FontSubsetCacheMaxBytes := 256 * 1024 * 1024;
{ create documents that use embedded TrueType or OpenType fonts }
Info := PDF.GetFontSubsetCacheInfo;
end;