procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction capture un instantané reproductible borné du document actif et lie la transaction à la page courante
Les mutations d’objets de page — insertion, suppression, transformation, propriété, marque de contenu, objet d’annotation et apparence d’annotation — restent des opérations PDFium natives tandis que la génération de contenu est différée
CommitPageObjectEditTransaction appelle FPDFPage_GenerateContent une seule fois lorsqu’au moins une mutation a réussi et renvoie True, ou renvoie False sans génération pour une transaction sans effet
RollbackPageObjectEditTransaction restaure l’instantané de référence validé sans sérialiser les mutations différées
TPdfPageObjectEditTransactionStatus rapporte Active, Dirty, le PageNumber à base 1, le MutationCount réussi et ContentGenerationCount
Les compteurs finaux de mutations et de générations restent disponibles après la validation à des fins de diagnostic
AllowSignedDocument expliciteTPdfEditJournalOptions.MaxSnapshotBytesPdf.BeginPageObjectEditTransaction;
try
Pdf.TransformPageObject(0, Matrix);
Pdf.SetPageObjectMarkParam(0, 0, Param);
Pdf.CommitPageObjectEditTransaction;
except
if Pdf.PageObjectEditTransactionStatus.Active then
Pdf.RollbackPageObjectEditTransaction;
raise;
end;