持久化字型子集快取

持久化字型子集快取可避免重複執行昂貴的 TrueType 或 OpenType 子集化——只要後續文件用到相同的字型內容與字形集

設定

property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;

空的 FontSubsetCacheFolder 會停用磁碟快取,但不改變字型輸出

FontSubsetCacheMaxBytes 預設 256 MiB,執行期可調小,調小會立即觸發最近最少使用(LRU)驅逐

統計

THPDFFontSubsetCacheInfo 包含 HitCount、MissCount、WriteCount、EvictionCount、CorruptCount、RejectedCount、WriteFailureCount、CurrentBytes 與 FileCount

正確性與復原

範例

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;

另請參閱