THotPDF.GetProgressiveLinearizedLoadInfo Method

驗證有界限的線性化標頭,並回報自給自足的第一頁範圍

宣告

function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;

單元

HPDFDoc

參數

名稱用途
Source能回報各獨立可用範圍的隨機存取來源
Info接收驗證過的線性化偏移、範圍旗標、狀態與診斷資訊

傳回值

成功解析出有效的線性化字典時傳回 True,即使所需範圍仍無法取得也一樣

使用說明

任意頁面範圍規劃

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;

planner 會解碼原始或 Flate 的主 hint stream 與溢位 hint stream,透過 /P 對應所求頁面,併入完整的 bootstrap、被引用的共享物件群組與交互參考資料,接受 LF 與 CRLF 的傳統 xref 第 0 項目前綴,並傳回排序過的最小位元組範圍

第一頁規劃一律使用自給自足的 [0, /E) 區段,不需要解碼 hint

預設接受可互通的位元組對齊列(單一合併共享物件序列)與 Annex F 描述的連續 MSB-first 分割序列;HintEncoding 標明選用的解讀方式,等效的雙解讀保持明確,衝突的解讀則直接判定失敗

AllowRowAlignedHints 預設為 True,只在驗證 Annex F 時可停用

資源上限涵蓋解碼後的 hint 位元組數、頁數、共享群組與參照、範圍數、合併間距、規劃總位元組數,以及 planner 記憶體(預設上限 256 MiB);在該上限內無法驗證完畢的替代 hint 解讀會直接判定失敗,而上限、filter、hint、xref、可用性與頁面索引的失敗各自有獨立的 THPDFLinearizedPagePlanStatus 值

相關 API