THPDFHeadlessRenderAccess
HPDFHeadlessRenderAccess 中的記錄由 THPDFHeadlessDocument.GetRenderAccess(PageIndex) 回傳,用於對目前文件物件圖的序列唯讀存取
使用期間,擁有它的文件必須保持已載入且未被修改;指標、資源 dictionary 與 callback 結果皆為借用,呼叫端不得釋放或修改
| 欄位 | 契約 |
|---|---|
Context | 不透明的文件指標,原樣傳給每個 callback |
PageDictionary, PageResources | 解析後的頁面 dictionary 與繼承的資源 dictionary |
Resolve: THPDFHeadlessRenderResolve | 透過既有的 xref、object-stream 與安全性路徑解析借用物件 |
ReadStream: THPDFHeadlessRenderReadStream | 回傳解碼後位元組,解碼之前先套用提供的最大值,並受文件預算封頂 |
ReadImageBytes: THPDFHeadlessRenderReadImage | 驗證並解密影像 stream、解碼有界的前置 filter,回傳解碼取樣或最終的 JPEG、JPEG 2000、CCITT、JBIG2 payload,並附上終端 filter 名稱與借用的 DecodeParms dictionary |
FontResolver: THPDFHeadlessRenderFontResolver | 為既有的資源字型解碼器建立介面 |
RequireExtractionPermission: THPDFHeadlessRenderPermission | 檢查取消與已驗證的擷取權限 |
RequireOutputPath: THPDFHeadlessRenderOutputPath | 檢查取消,並在建立檔案之前依 canonical 路徑與實體檔案身分拒絕來源別名 |
CancellationToken | 借用、由呼叫端持有的文件 cancellation token |
MaxDecodedBytes, MaxDepth | 繼承自文件選項的上限 |
CatalogDictionary: THPDFDictionaryObject 出借解析後的 catalog,供 optional-content 設定使用;nil 表示未提供 catalog,optional-content 結構不產生可見性效果
ResolveOptional: THPDFHeadlessRenderResolve 解析 optional 群組成員資格,缺失、已刪除或過期 generation 的參照回傳 nil;有效存活的物件仍保留正常的解析、object-stream、安全性、取消與深度檢查,其錯誤會往外傳遞
手動組裝的存取記錄,先以 Default(THPDFHeadlessRenderAccess) 初始化再指定 callback;ResolveOptional 為 nil 時使用一般 resolver,catalog 為 nil 時維持 render、不做 optional-content 設定
輸出 renderer 必須在建立檔案之前呼叫 RequireOutputPath(Context, FileName),並自行套用暫存、發布與目的地預算政策
Lifetime: IHPDFHeadlessRenderLifetime 持有物件圖生命週期租約;靜態 render 允許 nil,明確的檢視器狀態則需要有效租約,並會在呼叫 callback 之前拒絕已過期的存取
擁有它的文件被關閉、重新載入、修改或銷毀之後,檢視即失效