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