PDFium Delphi Component 文件

頁面物件編輯交易

元件: TPdf  ·  單元: PDFium
將原生頁面物件變更組成單一原子式的頁面範圍作業

Syntax

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

Description

BeginPageObjectEditTransaction 擷取作用中文件的有界可重現快照,並把交易繫結到目前頁面

頁面物件的插入、移除、變換、屬性、內容標記、註解物件與註解外觀變更仍是原生 PDFium 作業,而內容產生則被延後

CommitPageObjectEditTransaction 在至少一個變更成功時呼叫一次 FPDFPage_GenerateContent 並傳回 True;對無作業的交易則不產生內容並傳回 False

RollbackPageObjectEditTransaction 會還原已驗證的基準快照,而不序列化延後的變更

Status

TPdfPageObjectEditTransactionStatus 回報 Active、Dirty、以 1 為基底的 PageNumber、成功的 MutationCount 與 ContentGenerationCount

最終的變更與產生計數器在認可後仍保留,供診斷使用

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