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