PDFium Delphi Component Docs

PageObjectEditTransactionStatus özelliği

Component: TPdf  ·  Unit: PDFium
Bir sayfa nesnesi düzenleme işleminin etkin olup olmadığını ve ne kadar ilerlediğini raporlar

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

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

ActiveBeginPageObjectEditTransaction ile eşleşen commit ya da rollback arasında True
Dirtyİşlem içinde en az bir değişiklik çalıştırıldığında True
PageNumberİşlem başladığında bağlı olduğu bir tabanlı sayfa
MutationCountİşlem içinde kaydedilen başarılı UpdatePage çağrıları
ContentGenerationCountDeğişiklik içeren işlemler commit edilirken gerçekleştirilen içerik oluşturma sayısı

Description

Sayfa nesnesi düzenleme işlemi, yerel içerik oluşturmayı erteler; böylece sayfa nesnesi ekleme, kaldırma, dönüştürme, özellik, içerik işareti ve ek açıklama görünümü değişiklikleri tek bir atomik, sayfa kapsamlı işlem olarak uygulanır. Bu özellik, canlı durumunu koruma kontrolleri ve tanılama için açığa çıkarır

MutationCount başarılı her ertelenmiş değişiklikle artar ve her bu tür değişiklik aynı zamanda sayfa önbelleklerini geçersiz kılar; böylece düzenlemeden sonra bayat bir işleme, anlık görüntü ya da küçük resim kalmaz

Değişiklik içeren bir işlemi commit etmek sayfa içeriğini bir kez yeniden oluşturur ve ContentGenerationCount değerini ilerletir. Hiçbir şey yapmayan bir işlemi commit etmek ya da rollback yapmak, temel durumu oluşturma yapmadan geri yükler

Remarks

Commit ve rollback Active ile Dirty değerlerini temizler; ancak bir sonraki işlem başlayıp sıfırlayana dek PageNumber ve iki sayacı son tanılama değerleri olarak bırakır

İşlem dışında her alan varsayılan değerini taşır; bu yüzden boşta kalma testi için güvenilir olan Active = False kontrolüdür

Durum yalnızca sayfa nesnesi işlemlerini kapsar; BeginEditTransaction ile açılan belge düzeyi işlemleri düzenleme günlüğü raporlar

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