PDFium Component Docs

Transakcje edycji obiektów strony

Component: TPdf  ·  Unit: PDFium
Grupuje natywne mutacje obiektów strony w jedną atomową operację w zakresie strony

Syntax

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

Description

BeginPageObjectEditTransaction przechwytuje ograniczony, odtwarzalny snapshot aktywnego dokumentu i wiąże transakcję z bieżącą stroną

Wstawianie i usuwanie obiektów strony, przekształcenia, zmiany właściwości, znaczniki zawartości, obiekty adnotacji i wyglądy adnotacji pozostają natywnymi operacjami PDFium, przy czym regeneracja zawartości jest odkładana

CommitPageObjectEditTransaction wywołuje FPDFPage_GenerateContent raz, gdy co najmniej jedna mutacja się powiodła, i zwraca True, a dla transakcji bez zmian zwraca False bez generowania

RollbackPageObjectEditTransaction odtwarza zwalidowany snapshot bazowy bez serializacji odłożonych mutacji

Status

TPdfPageObjectEditTransactionStatus raportuje Active, Dirty, liczbę PageNumber od 1, udane mutacje w MutationCount oraz ContentGenerationCount

Końcowe liczniki mutacji i generowań pozostają dostępne po zatwierdzeniu dla celów diagnostycznych

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