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