PDFium Delphi Component Docs

Transações de edição de page objects

Componente: TPdf  ·  Unidade: PDFium
Agrupa mutações nativas de page objects numa única operação atómica no âmbito da página

Syntax

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

Description

BeginPageObjectEditTransaction captura uma snapshot reprodutível e limitada do documento ativo e vincula a transação à página atual

As mutações de page objects de inserção, remoção, transformação, propriedade, content mark, objeto de anotação e aparência de anotação continuam a ser 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 devolve True, ou devolve False sem geração numa transação sem efeito

RollbackPageObjectEditTransaction restaura a snapshot de base validada sem serializar as mutações adiadas

Status

TPdfPageObjectEditTransactionStatus reporta Active, Dirty, o PageNumber a partir de 1, o MutationCount de mutações bem-sucedidas e o ContentGenerationCount

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