PDFium Delphi Component Docs

PageObjectEditTransactionStatus Propiedad

Componente: TPdf  ·  Unidad: PDFium
Informa si una transacción de edición de objetos de página está activa y hasta dónde ha progresado

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

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

ActiveTrue entre BeginPageObjectEditTransaction y la confirmación o reversión correspondiente
DirtyTrue una vez que al menos una mutación se ejecutó dentro de la transacción
PageNumberPágina basada en uno a la que la transacción quedó vinculada al comenzar
MutationCountLlamadas UpdatePage exitosas registradas dentro de la transacción
ContentGenerationCountGeneraciones de contenido realizadas al confirmar transacciones con cambios

Description

Una transacción de edición de objetos de página difiere la generación nativa de contenido para que las mutaciones de objetos de página —inserción, eliminación, transformación, propiedades, marcas de contenido y apariencias de anotación— se apliquen como una sola operación atómica con ámbito de página. Esta propiedad expone su estado en vivo para protecciones y diagnósticos

MutationCount avanza con cada mutación diferida exitosa, y cada una de estas mutaciones también invalida las cachés de página para que ningún render, instantánea ni miniatura obsoletos sobrevivan a la edición

Confirmar una transacción con cambios regenera el contenido de la página una vez y avanza ContentGenerationCount. Confirmar una transacción sin operaciones o revertir restaura la línea base sin generación

Remarks

La confirmación y la reversión limpian Active y Dirty, pero dejan PageNumber y ambos contadores como diagnósticos finales hasta que la siguiente transacción comienza y los restablece

Fuera de una transacción cada campo conserva su valor predeterminado, de modo que Active = False es la prueba fiable de inactividad

El estado cubre solo las transacciones de objetos de página; las transacciones a nivel de documento abiertas con BeginEditTransaction las informa el diario de ediciones

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