function GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): Boolean;
วัดและแบ่งหน้า layout พร้อมกับ serialise command แต่ละตัวลง storage แบบ seek ได้ที่ PagedPlan เป็นเจ้าของหรืออ้างอิงอยู่
หลังวัดเสร็จ จะ materialise อาร์เรย์ command ของหน้าหนึ่งหน้าต่อครั้ง ส่งหน้านั้นออกผ่าน native PDFium page-object API ชุดเดียวกับ GenerateLayout flush ทิ้ง คืนอาร์เรย์ local แล้วไปหน้าถัดไป
ใช้ TFileStream, TMemoryStream หรือ TPdfRandomAccessStore แบบเฉพาะของตัวเอง stream ต้องรองรับ seek, read, write, resize และการใช้แบบเดียวตลอดอายุของ paged plan
MaxCommandCount, MaxStorageBytes, MaxPageCommands และ MaxSourceCount ปฏิเสธ plan ที่ใหญ่เกินไป ส่วน MaxCachedPages จำกัด LRU cache ภายในและตั้งเป็นศูนย์ได้
CommandCount, StorageByteCount, ตัวนับของ cache และค่า occupancy สูงสุด เปิดเผยพฤติกรรมที่วัดได้
Plan.Commands ถูกออกแบบให้ว่าง ส่วนการตั้งค่าหน้า จำนวนหน้า semantic element การนับเนื้อหา ค่าที่วัดได้ และผลรวม page reference แบบเสถียรยังเรียกดูได้
PagedPlan.MaterializePage สร้างหน้าที่สมบูรณ์กลับมาทีหลังได้ รวมถึงเนื้อหาหลักบวกส่วน header และ footer ที่เขียนแยกไว้
เมธอดนี้สร้าง layout แบบ untagged หากต้องการ command plan ในหน่วยความจำที่สมบูรณ์และการ post-process structure tree ให้ใช้ GenerateTaggedLayout
PDFium เก็บเอกสารที่สร้างและ native page ของมันไว้จนกว่าจะ save หรือ close จึงเป็นการจำกัดการ materialise command ระดับสูงเท่านั้น ไม่ใช่หน่วยความจำเอกสารฝั่ง PDFium
source PDF หรือ TPdfLayoutCachedNode ใด ๆ ที่ถูกอ้างอิงต้องมีอายุยาวกว่าการสร้างและการ materialise ทีหลัง และปลายทางที่มีลายเซ็นต้องได้รับอนุญาตอย่างชัดเจน
หากการวัดหรือการส่งออกล้มเหลว storage ของ command ที่ยังไม่สมบูรณ์จะถูกรีเซ็ต และหน้าที่ call นี้เพิ่มเข้าไปจะถูก rollback ทั้งหมด