PDFium Delphi Component Docs

Transacciones de edición de objetos de página

Componente: TPdf  ·  Unidad: PDFium
Agrupa las mutaciones nativas de objetos de página en una sola operación atómica con ámbito de página

Syntax

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

Description

BeginPageObjectEditTransaction captura una instantánea acotada y reproducible del documento activo y vincula la transacción a la página actual

Las mutaciones de inserción, eliminación, transformación, propiedad, marca de contenido, objeto de anotación y apariencia de anotación de objetos de página siguen siendo operaciones nativas de PDFium mientras la generación de contenido queda diferida

CommitPageObjectEditTransaction llama a FPDFPage_GenerateContent una sola vez cuando al menos una mutación tuvo éxito y devuelve True, o devuelve False sin generación en una transacción sin operaciones

RollbackPageObjectEditTransaction restaura la instantánea de línea base validada sin serializar las mutaciones diferidas

Status

TPdfPageObjectEditTransactionStatus reporta Active, Dirty, el PageNumber basado en uno, el MutationCount exitoso y ContentGenerationCount

Los contadores finales de mutaciones y generaciones permanecen disponibles después de la confirmación con fines de diagnóstico

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