PDFium Delphi Component Docs

PageObjectEditTransactionStatus egenskab

Komponent: TPdf  ·  Enhed: PDFium
Rapporterer, om en sideobjekt-redigeringstransaktion er aktiv, og hvor langt den er nået

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

type TPdfPageObjectEditTransactionStatus = record
  Active: Boolean;
  Dirty: Boolean;
  PageNumber: Integer;
  MutationCount: Integer;
  ContentGenerationCount: Integer;
end;

ActiveTrue mellem BeginPageObjectEditTransaction og det tilhørende commit eller rollback
DirtyTrue, så snart mindst én mutation er kørt inde i transaktionen
PageNumberÉn-baseret side, som transaktionen blev bundet til, da den startede
MutationCountSuccessfulde UpdatePage-kald, der er registreret inde i transaktionen
ContentGenerationCountContent-genereringer udført ved commit af dirty-transaktioner

Description

En sideobjekt-redigeringstransaktion udskyder den native content-generering, så sideobjekt-insert-, remove-, transform-, egenskabs-, content-mark- og annotationsudseende-mutationer anvendes som én atomar side-afgrænset operation. Denne egenskab eksponerer dens live-tilstand til guards og diagnostik

MutationCount tæller op ved hver successfuld udskudt mutation, og hver sådan mutation invaliderer også side-cacherne, så intet forældet render, snapshot eller thumbnail overlever redigeringen

Commit af en dirty-transaktion regenererer sideindholdet én gang og tæller ContentGenerationCount op. Commit af en no-op-transaktion eller rollback gendanner baseline-snapshotet uden generering

Remarks

Commit og rollback rydder Active og Dirty, men efterlader PageNumber og begge tællere som endelig diagnostik, indtil den næste transaktion starter og nulstiller dem

Uden for en transaktion holder hvert felt sin standardværdi, så Active = False er den pålidelige inaktivitetstest

Statussen dækker kun sideobjekt-transaktioner; dokumentniveau-transaktioner, der åbnes med BeginEditTransaction, rapporteres af edit-journalen

Example

Pdf.BeginPageObjectEditTransaction;
try
  Pdf.TransformPageObject(0, Matrix);
  Status := Pdf.PageObjectEditTransactionStatus;
  LogTransactionProgress(Status.MutationCount, Status.Dirty);
  Pdf.CommitPageObjectEditTransaction;
except
  if Pdf.PageObjectEditTransactionStatus.Active then
    Pdf.RollbackPageObjectEditTransaction;
  raise;
end;

See Also

PageObjectEditTransaction, BeginEditTransaction, CommitEditTransaction, RollbackEditTransaction, UpdatePageObject