BeginPageUpdate

页面布局

描述

在当前选定页面上启动批量绘制事务。后续绘制调用(文本、路径、图像、注释)会缓冲到单个批次,并在调用匹配的 EndPageUpdate 时刷新到页面内容流中

当页面由许多小型绘图图元组成时使用此项,尤其适合重新打开已保存的页面进行编辑。批处理可避免每次调用均产生内容流序列化开销,并使生成的页面内容流保持紧凑且格式正确

语法

Delphi

Function TPDFlib.BeginPageUpdate: Integer;

ActiveX

Function PDFlib::BeginPageUpdate() As Long

DLL

int DLBeginPageUpdate(int InstanceID);

返回值

0失败 — 未打开文档或当前未选择页面
1已启动批量绘制事务

备注

每次 BeginPageUpdate 调用都必须在同一页面上配对一次 EndPageUpdate 调用。对于刚由 NewPage 创建的全新页面添加内容时,此配对并非严格必需;此时页面已处于 "open for writing" 状态。重新打开此前已关闭的页面并修改其内容时,此配对必须存在(在 EndPage 之后或加载文档之后)

不支持嵌套调用,在打开其他页面编辑前请调用 EndPageUpdate

示例

// Add a stamp on an existing page of a loaded document
PDF.LoadFromFile('contract.pdf', '');
PDF.SelectPage(1);
PDF.BeginPageUpdate;
  PDF.SetTextColor(0.8, 0, 0);
  PDF.SetFontSize(48);
  PDF.PrintText(150, 400, 'DRAFT');
PDF.EndPageUpdate;
PDF.SaveToFile('contract-stamped.pdf');

另请参阅

EndPageUpdate、SelectPage、NewPage、EndPage