property StructureCacheCapacity: Integer; // read and write, default 8
การอ่าน StructureElementsForPage จะ parse structure tree แบบ tagged ของหน้าหนึ่งขึ้นมาเป็น snapshot แบบ managed cache จะจอง slot ละหนึ่งหน้าของเอกสาร และเก็บ tree ที่เสร็จสมบูรณ์ไว้ตามลำดับ least-recently-used จนถึง capacity นี้ การเช็ก accessibility และการเดินโครงสร้างซ้ำ ๆ จึงข้ามการเดิน native ไปได้
tree ที่เก็บไว้แต่ละต้นถูกวัดด้วยค่าประมาณการที่ครอบคลุม record ของ element สตริง อาร์เรย์ identifier และค่าแอตทริบิวต์ แล้วจองงบนั้นไว้ใน governor CacheBudgetBytes ที่ใช้ร่วมกัน
การลด capacity จะไล่ tree ที่ไม่ได้ใช้นานสุดออก และคืนไบต์ของมันให้ governor ทันที
ตั้ง capacity เป็นศูนย์จะล้าง cache และปิดการเก็บซ้ำ แต่การอ่านตรงผ่าน StructureElementsForPage และ ReadStructureElements ยังใช้ได้ปกติ เพียงแต่ parse ใหม่ทุกครั้ง
ค่าติดลบทำให้เกิด EPdfError
traversal ที่ไม่สมบูรณ์ ซึ่ง Status.Completed เป็น False เพราะไปชนขีดจำกัดความลึก จำนวน element แอตทริบิวต์ หรือ deadline จะถูกคืนให้ผู้เรียก แต่จะไม่ถูกเก็บลง cache เด็ดขาด
Pdf.StructureCacheCapacity := 16;
Elements := Pdf.StructureElementsForPage[PageNumber];