procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction captura um snapshot limitado e reproduzível do documento ativo e vincula a transação à página atual
As mutações de objetos de página — inserção, remoção, transformação, propriedade, content-mark, objeto de anotação e aparência de anotação — permanecem 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 retorna True, ou retorna False sem geração para uma transação sem operações
RollbackPageObjectEditTransaction restaura o snapshot de linha de base validado sem serializar as mutações adiadas
TPdfPageObjectEditTransactionStatus relata Active, Dirty, o PageNumber baseado em um, o MutationCount de mutações bem-sucedidas e o ContentGenerationCount
Os contadores finais de mutação e de geração permanecem disponíveis após o commit para 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;