Compose
頁面版面配置、分頁、Form XObjects
描述
TPDFlibDynamicComponent 的抽象方法,在區域座標中繪製元件的一個片段,並回報其使用的邊界與延續狀態
語法
Function TPDFlibDynamicComponent.Compose(
Const Context: TPDFlibDynamicPageContext;
Out ComposeResult: TPDFlibDynamicPageResult): Integer;
Virtual; Abstract;
參數
Context.LibraryInstance | 片段應透過其繪製的附加 TPDFlib 執行個體 |
|---|---|
Context.PageNumber | 目的地頁碼,即使回呼執行期間程式庫選取的是隔離的暫存頁面 |
Context.CompositionIndex | 片段在認可時獲得的以 1 為基準的編號 |
Context.DestinationLeft, Context.DestinationTop | 從組合呼叫傳入的目的地插槽位置 |
Context.AvailableWidth, Context.AvailableHeight | 周圍 Form XObject 的自然畫布大小 |
結果記錄
HasContent | 片段繪製了可見內容時為 True |
|---|---|
HasMoreContent | 元件可以產生另一個片段時為 True |
UsedWidth, UsedHeight | 從區域座標零開始且應包住所有可見元件內容的使用矩形 |
備註
有內容的結果要求 UsedWidth 與 UsedHeight 為有限正值,且不超過 AvailableWidth 與 AvailableHeight
無內容的結果只在 HasMoreContent 為 False 且兩個使用維度皆為零時有效
回呼可以使用繪圖與內容 API,但不得更動文件、頁面或巢狀繪圖容器
在任何放置決策之前,session 會透過 ValidComposeResult 驗證 ComposeResult
傳回零會拒絕該次嘗試,不提交元件或目標狀態;拋出的例外會在 session 清理完暫時狀態後繼續傳播
傳回值
1 | 片段結果會送交驗證與放置 |
|---|---|
0 | 嘗試遭拒,且元件或目的地狀態皆不變更 |
另請參閱
TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent