procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction captura uma snapshot reprodutível e limitada do documento ativo e vincula a transação à página atual
As mutações de page objects de inserção, remoção, transformação, propriedade, content mark, objeto de anotação e aparência de anotação continuam a ser operações nativas do PDFium enquanto a geração de conteúdo é adiada
CommitPageObjectEditTransaction chama FPDFPage_GenerateContent uma vez quando pelo menos uma mutação teve sucesso e devolve True, ou devolve False sem geração numa transação sem efeito
RollbackPageObjectEditTransaction restaura a snapshot de base validada sem serializar as mutações adiadas
TPdfPageObjectEditTransactionStatus reporta Active, Dirty, o PageNumber a partir de 1, o MutationCount de mutações bem-sucedidas e o ContentGenerationCount
Os contadores finais de mutações e de gerações permanecem disponíveis após o commit para fins de diagnóstico
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;