เมธอด THotPDF.GetProgressiveLinearizedLoadInfo
ตรวจสอบ linearization header แบบ bounded และรายงานช่วงของหน้าแรกที่สมบูรณ์ในตัวเอง
การประกาศ
function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;
ยูนิต
HPDFDoc
พารามิเตอร์
| ชื่อ | วัตถุประสงค์ |
|---|---|
Source | random-access source ที่รายงานช่วงข้อมูลที่พร้อมใช้แบบอิสระได้ |
Info | รับ offset ของ linearization ที่ผ่านการตรวจสอบ, range flag, สถานะ และ diagnostics |
ค่าที่ส่งกลับ
ส่งค่า True เมื่อ parse linearization dictionary ที่ถูกต้องได้สำเร็จ แม้ช่วงข้อมูลที่จำเป็นจะยังมาไม่ครบก็ตาม
หมายเหตุการใช้งาน
- การสุ่มตรวจ header แบบ bounded ใช้ page-range parser แบบเข้มงวด และตรวจสอบ /L, /H, /O, /E, /N, /T, โครงสร้าง token และ indirect object ที่ครอบอยู่
- ความพร้อมของหน้าแรกต้องใช้เพียง section
[0, /E)แบบ zero-based และไม่ขึ้นกับส่วนท้าย cross-reference หลัก - การอ่านแบบ short read ที่ยอมรับได้จะถูกสะสมจนกว่าคำขอแบบ bounded แต่ละครั้งจะครบ โดยเช็คการยกเลิกระหว่างการอ่านแต่ละรอบ
- เมธอดนี้ไม่รับ ownership ของ Source
การวางแผนช่วงหน้าแบบ arbitrary
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; const Options: THPDFLinearizedPageRangeOptions; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
ตัววางแผนจะถอดรหัส hint stream หลักและ overflow ทั้งแบบ raw และ Flate, จับคู่หน้าที่ต้องการผ่าน /P, รวม bootstrap ทั้งชุดพร้อมกลุ่ม shared object และข้อมูล cross-reference ที่อ้างถึง, ยอมรับ prefix entry-zero ของ traditional xref ทั้งแบบ LF และ CRLF แล้วส่งค่า byte range ที่เล็กที่สุดแบบเรียงลำดับกลับมา
แผนของหน้าแรกใช้ section [0, /E) ที่สมบูรณ์ในตัวเองเสมอ และไม่ต้องถอดรหัส hint
ค่าเริ่มต้นยอมรับแถวแบบ byte-aligned ที่ใช้ร่วมกับระบบอื่นได้ ทั้งแบบ shared-object sequence รวมเป็นชุดเดียวและแบบแยกต่อเนื่อง MSB-first ตามที่ Annex F อธิบาย โดย HintEncoding ระบุการตีความที่ถูกเลือก การตีความคู่ที่เทียบเท่ากันจะถูกแสดงไว้อย่างชัดเจน และกรณีตีความขัดแย้งกันจะ fail closed
AllowRowAlignedHints เป็น True ตามค่าเริ่มต้น และปิดได้เมื่อต้องการตรวจสอบเฉพาะรูปแบบ Annex F
ขีดจำกัดของ resource ครอบคลุม hint bytes หลังถอดรหัส, จำนวนหน้า, shared group และการอ้างอิง, จำนวนช่วง, merge gap, จำนวน byte ที่วางแผนทั้งหมด และหน่วยความจำของตัววางแผนโดยมีเพดานเริ่มต้น 256 MiB การตีความ hint แบบอื่นที่ตรวจสอบไม่จบภายในเพดานนี้จะ fail closed ส่วนความล้มเหลวประเภท limit, filter, hint, xref, availability และ page-index จะรายงานด้วยค่า THPDFLinearizedPagePlanStatus ที่ต่างกันออกไป