procedure BeginIncrementalSave(AllowSignedDocument: Boolean = False);
function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): Boolean;
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): Boolean;
procedure EndIncrementalSave;
property IncrementalSaveActive: Boolean;
| AllowSignedDocument | İmzalı bir belgede oturumu açıkça izin verir; varsayılan reddeder |
| Stream | Bu işlemeden sonra birikmiş eksiksiz PDF'i alan TStream |
| FileName | Yalnızca kardeş bir geçici dosya başarılı olduktan sonra değiştirilen çıktı yolu |
| Info | Hedefe yazma başarılı olduktan sonra döndürülen işlem başına istatistikler |
| ChangedObjectCount | Bu işlem tarafından eklenen değişen veya yeni dolaylı nesne sayısı |
| AppendedByteCount | Önceki çıktı önekinden sonra eklenen bayt sayısı |
| OutputByteCount | Bu işlemin döndürdüğü eksiksiz çıktıdaki toplam bayt sayısı |
| RevisionCount | Geçerli oturumda işlenen boş olmayan sürüm sayısı |
BeginIncrementalSave, kararlı bir PDFium semantik anlık görüntüsünü hem karşılaştırma taban çizgisi hem de ilk eksiksiz çıktı olarak yakalar
Her işlem geçerli durumu yakalar, etkin klasik, hibrit, xref-stream ve object-stream nesnelerini çözer, ardından nesne üretimini ve gövde baytlarını tam olarak karşılaştırır
Yalnızca değişen veya yeni dolaylı nesneler önceki çıktıdan sonra yazılır ve ardından gereken en küçük xref ve trailer sürümü eklenir
Klasik xref kullanan bir kaynak klasik xref tablolarıyla devam ederken, xref-stream kullanan bir kaynak kendi kendine indekslenmiş xref akışlarıyla devam eder
Hiçbir şey değişmediyse önceki çıktı bayt bayt döndürülür, sürüm eklenmez ve RevisionCount ilerlemez
Dosya aşırı yüklemesi kardeş bir geçici dosya yazar, hedefi atomik olarak değiştirir ve yazma veya değiştirme başarısız olursa oturum durumunu geri yükler
AllowSignedDocument True olmadıkça imzalı belgeler reddedilir; açık izin DocMDP veya FieldMDP ilkesini doğrulamazEPdfError yükseltirCompressed özelliğinden bağımsızdır, böylece nesne karşılaştırması kararlı kalır
var
Info: TPdfIncrementalCommitInfo;
begin
Pdf.BeginIncrementalSave;
try
Pdf.PageNumber := 1;
Pdf.PageRotation := ro90;
Pdf.CommitIncrementalSave('revision-1.pdf', Info);
Pdf.PageRotation := ro180;
Pdf.CommitIncrementalSave('revision-2.pdf', Info);
finally
Pdf.EndIncrementalSave;
end;
end;