ComposeNext

页面版面、分页、Form XObject

描述

使用默认版面策略将一个有状态的动态片段组合到目标页面槽位,并报告最终放置

语法

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