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