GetRangeSourceDataAvailability
文件管理、漸進式載入、診斷
描述
判斷所選回呼型 PDF 是否擁有處理某個頁面、互動式表單或間接物件相依圖形所需的全部位元組
語法
Delphi
Function TPDFlib.GetRangeSourceDataAvailability(DataKind, Index: Integer;
Out Report: WideString): Integer;參數
| DataKind | PDF_RANGE_DATA_PAGE、PDF_RANGE_DATA_FORM 或 PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | 從 1 起算的頁碼、表單查詢為 0,或間接物件編號 |
| Report | 接收 JSON 相依性與位元組範圍報告 |
傳回值
PDF_RANGE_DATA_ERROR (-1) | 引數、來源或 PDF 結構無效;請檢查 LastErrorCode 與 Report |
|---|---|
PDF_RANGE_DATA_NOT_AVAILABLE (0) | 至少一個必要範圍尚未可用 |
PDF_RANGE_DATA_AVAILABLE (1) | 完整的相依性圖形已可用 |
PDF_RANGE_DATA_NOT_PRESENT (2) | 表單查詢已完成,且文件沒有 AcroForm |
報告欄位
scope, index, status, available | 識別查詢並摘要其結果 |
|---|---|
dependencyGraphComplete | 指出是否已檢查每個可觸及的相依性 |
requestedObjects, resolvedObjects, traversedObjects | 用於診斷與排程的物件解析計數器 |
requiredBytes, missingBytes | 重疊範圍合併後的去重位元組總計 |
requiredRanges, missingRanges | 內含 start 與 end 來源偏移的陣列 |
error | 選用的機器可讀結構或引數錯誤 |
備註
頁面查詢只沿目標頁面樹路徑、頁面資源、內容串流、註解與繼承的頁面屬性追蹤
表單查詢走訪 AcroForm 依賴,並要求 Index 為零
物件查詢從指定的交叉參照物件編號出發,沿可達的間接參照追蹤,同時避開往回的父邊
缺少的範圍絕不讀取;回報為可用的範圍可能被剖析並加入 byte-range 快取
物件數與依賴深度設有上限,可預期地拒絕惡意或循環結構