procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction захватывает ограниченный воспроизводимый снимок активного документа и привязывает транзакцию к текущей странице
Мутации объектов страницы — вставка, удаление, преобразование, свойства, марки содержимого, объекты аннотаций и внешние виды аннотаций — остаются нативными операциями PDFium, пока генерация содержимого отложена
CommitPageObjectEditTransaction вызывает FPDFPage_GenerateContent один раз, если хотя бы одна мутация прошла успешно, и возвращает True, либо возвращает False без генерации для транзакции без действий
RollbackPageObjectEditTransaction восстанавливает проверенный базовый снимок, не сериализуя отложенные мутации
TPdfPageObjectEditTransactionStatus сообщает Active, Dirty, PageNumber в нумерации с единицы, число успешных мутаций MutationCount и ContentGenerationCount
Финальные счётчики мутаций и генераций остаются доступны после фиксации для диагностики
AllowSignedDocumentTPdfEditJournalOptions.MaxSnapshotBytesPdf.BeginPageObjectEditTransaction;
try
Pdf.TransformPageObject(0, Matrix);
Pdf.SetPageObjectMarkParam(0, 0, Param);
Pdf.CommitPageObjectEditTransaction;
except
if Pdf.PageObjectEditTransactionStatus.Active then
Pdf.RollbackPageObjectEditTransaction;
raise;
end;