แคชชุดย่อยฟอนต์แบบถาวร
แคชชุดย่อยฟอนต์แบบถาวรหลีกเลี่ยงการสร้างชุดย่อย TrueType หรือ OpenType ที่แพงซ้ำเมื่อเอกสารถัดไปใช้เนื้อหาฟอนต์และชุดไกลฟ์เดียวกัน
การกำหนดค่า
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
FontSubsetCacheFolder ที่ว่างปิดการแคชดิสก์โดยไม่เปลี่ยนเอาต์พุตฟอนต์
FontSubsetCacheMaxBytes ค่าเริ่มต้น 256 MiB และสามารถลดได้ตอนรันไทม์ ซึ่งกระตุ้นการไล่วิธีใช้น้อยล่าสุดทันที
สถิติ
THPDFFontSubsetCacheInfo ประกอบด้วย HitCount MissCount WriteCount EvictionCount CorruptCount RejectedCount WriteFailureCount CurrentBytes และ FileCount
ความถูกต้องและการกู้คืน
- การตีแคชเป็นไปได้เฉพาะเมื่อเนื้อหาฟอนต์ ไกลฟ์ที่ใช้ โหมดชุดย่อย และสคีมาแคชตรงกันทั้งหมด
- รายการชุดย่อยแบบกะทัดรัดเก็บข้อมูลการแมป CID ใหม่ที่พจนานุกรมฟอนต์ PDF/A ต้องการ
- รายการที่ผิดรูปแบบหรือถูกตัดถูกปฏิเสธและลบก่อนที่ชุดย่อยจะไปถึงสตรีม PDF
- ความล้มเหลวแคชย้อนกลับเป็นการสร้างชุดย่อยในหน่วยความจำปกติและไม่เคยป้องกันการสร้างเอกสาร
- การแทนที่แบบอะตอมิกป้องกันไม่ให้ตัวอ่านสังเกตรายการที่เขียนบางส่วน
ตัวอย่าง
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;