PDFium Delphi Component 文件

快取的版面配置節點

元件: TPdf  ·  單元: FPdfLayout

Syntax

procedure TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0);

Measurement cache

BuildPlan 依頁面條件、項目內容、字型、樣式、來源身分、保留的頁碼位數與 TPdfLayoutMeasurer.CacheIdentity 快取完整的量測計畫

相符的呼叫不會重新量測文字,直接返回並透過 CacheHitCount 回報結果;內容變更會產生 CacheMissCount 並取代快照

呼叫 InvalidateCache 可釋放儲存的快照,或是在自訂量測器保持同一身分但變更行為時使用

Lazy nodes

衍生自 TPdfLayoutCachedNode 並覆寫 BuildContent,讓節點版面只在第一次放置時建立

基底節點也可以直接透過 Content 填入

呼叫端擁有每個節點,且必須讓它存活到 GenerateLayout 返回為止

Native reuse

第一次放置會渲染一個私有的單頁版面,並以 FPDF_NewXObjectFromPage 建立一個綁定目的地的 XObject

之後每次重複放置都會從同一個 XObject 建立輕量的 Form 物件,ReusedXObjectCount 則回報省下的範本建置次數

Safety

節點內容必須容納在單一頁面上,且頁面尺寸與節點建構函式相符

遞迴的節點參照會被拒絕,外層附加交易會回滾該次呼叫建立的所有頁面

在覆寫的延遲節點其外部輸入變更後,呼叫 Invalidate 可重建該節點

See Also

GenerateLayout, CreateXObjectFromPage