PDFium Delphi Component Docs

Transações de edição de objetos de página

Componente: TPdf  ·  Unidade: PDFium
Agrupa mutações nativas de objetos de página em uma única operação atômica com escopo de página

Syntax

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

Description

BeginPageObjectEditTransaction captura um snapshot limitado e reproduzível do documento ativo e vincula a transação à página atual

As mutações de objetos de página — inserção, remoção, transformação, propriedade, content-mark, objeto de anotação e aparência de anotação — permanecem operações nativas do PDFium enquanto a geração de conteúdo é adiada

CommitPageObjectEditTransaction chama FPDFPage_GenerateContent uma vez quando pelo menos uma mutação teve sucesso e retorna True, ou retorna False sem geração para uma transação sem operações

RollbackPageObjectEditTransaction restaura o snapshot de linha de base validado sem serializar as mutações adiadas

Status

TPdfPageObjectEditTransactionStatus relata Active, Dirty, o PageNumber baseado em um, o MutationCount de mutações bem-sucedidas e o ContentGenerationCount

Os contadores finais de mutação e de geração permanecem disponíveis após o commit para 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