PDFium Delphi Component Docs

Transazioni di modifica degli oggetti di pagina

Componente: TPdf  ·  Unità: PDFium
Raggruppa le mutazioni native degli oggetti di pagina in una singola operazione atomica con ambito di pagina

Syntax

procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;

Description

BeginPageObjectEditTransaction acquisisce uno snapshot riproducibile e limitato del documento attivo e associa la transazione alla pagina corrente

Le mutazioni di inserimento, rimozione, trasformazione, proprietà, content-mark, oggetti di annotazione e aspetto delle annotazioni degli oggetti di pagina restano operazioni PDFium native mentre la generazione del contenuto è rinviata

CommitPageObjectEditTransaction chiama FPDFPage_GenerateContent una sola volta quando almeno una mutazione è riuscita e restituisce True, oppure restituisce False senza generazione per una transazione senza effetti

RollbackPageObjectEditTransaction ripristina lo snapshot di base validato senza serializzare le mutazioni rinviate

Status

TPdfPageObjectEditTransactionStatus riporta Active, Dirty, il PageNumber a base uno, il MutationCount delle mutazioni riuscite e ContentGenerationCount

I contatori finali di mutazioni e generazioni restano disponibili dopo il commit a fini diagnostici

Failure behaviour

Example

Pdf.BeginPageObjectEditTransaction;
try
  Pdf.TransformPageObject(0, Matrix);
  Pdf.SetPageObjectMarkParam(0, 0, Param);
  Pdf.CommitPageObjectEditTransaction;
except
  if Pdf.PageObjectEditTransactionStatus.Active then
    Pdf.RollbackPageObjectEditTransaction;
  raise;
end;

See Also

BeginEditTransaction, UpdatePageObject, AddPageObjectMark, RefreshAppearance