PDFium Delphi Component Docs

PageObjectEditTransactionStatus ypatybė

Komponentas: TPdf  ·  Modulis: PDFium
Praneša, ar puslapio objektų redagavimo transakcija aktyvi, ir kiek ji pažengusi

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

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

ActiveTrue nuo BeginPageObjectEditTransaction iki atitinkamo patvirtinimo arba atšaukimo
DirtyTrue, kai transakcijoje įvykdytas bent vienas pakeitimas
PageNumberPuslapis, skaičiuojamas nuo vieneto, prie kurio transakcija buvo prisirišta prasidėdama
MutationCountTransakcijoje užrašyti sėkmingi UpdatePage kreipiniai
ContentGenerationCountTurinio generavimai, atlikti patvirtinant transakcijas su pakeitimais

Description

Puslapio objektų redagavimo transakcija atideda natyvų turinio generavimą, kad puslapio objektų įterpimo, pašalinimo, transformavimo, savybių, turinio žymų ir anotacijos išvaizdos pakeitimai būtų taikomi kaip viena atominė puslapio apimties operacija. Ši savybė atskleidžia jos einamąją būseną apsaugoms ir diagnostikai

MutationCount didėja po kiekvieno sėkmingo atidėto pakeitimo, ir kiekvienas toks pakeitimas taip pat panaikina puslapio podėlius, kad po redagavimo neišliktų joks pasenęs atvaizdas, momentinė kopija ar miniatiūra

Pakeitimų turinčios transakcijos patvirtinimas vieną kartą atkuria puslapio turinį ir padidina ContentGenerationCount. Nieko nekeitusios transakcijos patvirtinimas arba atšaukimas atkuria pradinę būseną negeneravus turinio

Remarks

Patvirtinimas ir atšaukimas išvalo Active ir Dirty, bet PageNumber ir abu skaitiklius palieka kaip galutinę diagnostiką, kol kita transakcija, prasidėdama, jų nenustato iš naujo

Už transakcijos ribų kiekvienas laukas turi numatytąją reikšmę, todėl Active = False yra patikimas tuščiosios būsenos testas

Būsena apima tik puslapio objektų transakcijas; dokumento lygio transakcijas, atidarytas su BeginEditTransaction, praneša redagavimo žurnalas

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