ComposeNext
ページレイアウト、ページ分割、フォームXObject
説明
デフォルトのレイアウトポリシーを使用して、1つのステートフルな動的フラグメントを宛先ページのスロットへ合成し、最終的な配置を報告します
構文
Function TPDFlibDynamicComponentSession.ComposeNext(Page: Integer;
Left, Top, Width, Height: Double;
Out Placement: TPDFlibDynamicPagePlacement): Integer;
パラメータ
Page | 既存の1始まりの宛先ページ番号 |
|---|---|
Left, Top | 現在のドキュメント単位における左上の宛先位置 |
Width, Height | 有限の正の宛先スロットサイズ。ナチュラルキャンバスサイズにもなります |
Placement | コミットされたフラグメントを記述する、出力される配置レコード |
備考
この呼び出しはCreateLayoutOptions(Width, Height)でオプションを組み立て、ComposeNextLayoutへ転送します。そのためdopRejectのオーバーフロー処理、dhaLeftとdvaTopの配置、dppAllowSplitのページネーションを継承し、フロースペースの最小値はありません
使用される矩形はスロットに収まらなければなりません。既定のオーバーフローポリシーはクリップやスケールではなく拒否するためです
配置、リトライ、変換の全動作はComposeNextLayoutを参照してください
例
repeat
Status := Session.ComposeNext(PageNumber, 36, 36, 540, 720,
Placement);
if Status = PDF_DYNAMIC_COMPONENT_MORE then
PageNumber := PDF.NewPage;
until Status <> PDF_DYNAMIC_COMPONENT_MORE;
戻り値
PDF_DYNAMIC_COMPONENT_ERROR | 入力、コールバック、ジオメトリ、オーバーフロー、または配置の検証が、状態をコミットせずに失敗した |
|---|---|
PDF_DYNAMIC_COMPONENT_MORE | フラグメントがコミットされ、さらにコンテンツが残っている |
PDF_DYNAMIC_COMPONENT_COMPLETE | フラグメントがセッションを完了した、またはセッションは既に完了していた |
PDF_DYNAMIC_COMPONENT_RETRY | ページネーションまたはフロースペースポリシーが、未コミットの試行を別のスロットへ延期した |
関連項目
ComposeNextLayout、CreateLayoutOptions、TPDFlibDynamicComponentSession、Compose、Completed、CompositionCount