PDFium Delphi Component Docs

Transakce úprav objektů stránky

Komponenta: TPdf  ·  Jednotka: PDFium
Sdružuje nativní mutace page objektů do jedné atomické operace v rozsahu stránky

Syntaxe

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

Popis

BeginPageObjectEditTransaction zachytí ohraničený reprodukovatelný snapshot aktivního dokumentu a naváže transakci na aktuální stránku

Mutace page objektů — vložení, odstranění, transformace, vlastnosti, content mark, anotační objekty a vzhled anotací — zůstávají nativními operacemi PDFium, zatímco generování obsahu se odkládá

CommitPageObjectEditTransaction zavolá FPDFPage_GenerateContent jednou, když alespoň jedna mutace uspěla, a vrátí True, nebo vrátí False bez generování u transakce bez žádné operace

RollbackPageObjectEditTransaction obnoví validovaný základní snapshot bez serializace odložených mutací

Stav

TPdfPageObjectEditTransactionStatus hlásí Active, Dirty, PageNumber indexované od jedničky, úspěšné MutationCount a ContentGenerationCount

Konečná počítadla mutací a generování zůstanou po commitu dostupná pro diagnostiku

Chování při selhání

Příklad

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

Viz také

BeginEditTransaction, UpdatePageObject, AddPageObjectMark, RefreshAppearance