GetRangeSourceDataAvailability

文件管理、漸進式載入、診斷

描述

判斷所選回呼型 PDF 是否擁有處理某個頁面、互動式表單或間接物件相依圖形所需的全部位元組

語法

Delphi

Function TPDFlib.GetRangeSourceDataAvailability(DataKind, Index: Integer;
  Out Report: WideString): Integer;

參數

DataKindPDF_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 快取

物件數與依賴深度設有上限,可預期地拒絕惡意或循環結構