procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction 捕获活动文档的一个有界且可重现的快照,并将事务绑定到当前页面
页面对象的插入、移除、变换、属性、内容标记、注释对象和注释外观变更仍保持为原生 PDFium 操作,而内容生成被推迟
当至少一个变更成功时,CommitPageObjectEditTransaction 调用一次 FPDFPage_GenerateContent 并返回 True;对于没有实际变更的空事务则不做生成并返回 False
RollbackPageObjectEditTransaction 恢复经过验证的基线快照,而不序列化被推迟的变更
TPdfPageObjectEditTransactionStatus 报告 Active、Dirty、从 1 开始的 PageNumber、成功的 MutationCount 以及 ContentGenerationCount
提交之后,最终的变更与生成计数器仍保留供诊断使用
AllowSignedDocument 授权TPdfEditJournalOptions.MaxSnapshotBytes 的限制Pdf.BeginPageObjectEditTransaction;
try
Pdf.TransformPageObject(0, Matrix);
Pdf.SetPageObjectMarkParam(0, 0, Param);
Pdf.CommitPageObjectEditTransaction;
except
if Pdf.PageObjectEditTransactionStatus.Active then
Pdf.RollbackPageObjectEditTransaction;
raise;
end;