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 | Aiškiai leidžia sesiją pasirašytame dokumente; pagal numatymą ji atmetama |
| Stream | TStream, priimantis visą sukauptą PDF po šio patvirtinimo |
| FileName | Išvesties kelias, pakeičiamas tik sėkmingai sukūrus gretimą laikinąjį failą |
| Info | Kiekvieno patvirtinimo statistika, grąžinama sėkmingai įrašius paskirtį |
| ChangedObjectCount | Šio patvirtinimo pridėtų pakeistų ar naujų netiesioginių objektų skaičius |
| AppendedByteCount | Baitai, pridėti po tikslaus ankstesnės išvesties priešdėlio |
| OutputByteCount | Bendras baitų skaičius visame išvestyje, kurį grąžina šis patvirtinimas |
| RevisionCount | Netuščių revizijų, patvirtintų dabartinėje sesijoje, skaičius |
BeginIncrementalSave užfiksuoja stabilų PDFium semantinį momentinį vaizdą ir kaip palyginimo bazinę liniją, ir kaip pirmąją pilną išvestį
Kiekvienas patvirtinimas užfiksuoja dabartinę būseną, išsprendžia aktyvius klasikinius, hibridinius, xref srauto ir objektų srauto objektus, tada lygina objektų generacijas ir tikslius turinio baitus
Po ankstesnės išvesties įrašomi tik pakeisti ar nauji netiesioginiai objektai, o po jų — mažiausia reikalinga xref ir trailer revizija
Klasikinio xref šaltinis tęsia su klasikinėmis xref lentelėmis, o xref srauto šaltinis — su savarankiškai indeksuotais xref srautais
Jei niekas nepasikeitė, ankstesnė išvestis grąžinama baitas į baitą, jokia revizija nepridedama, o RevisionCount nepasistumia
Failo perkrova įrašo gretimą laikinąjį failą, atomiškai pakeičia paskirtį ir atkuria sesijos būseną, jei įrašymas ar pakeitimas nepavyksta
AllowSignedDocument yra True; aiškus leidimas netikrina DocMDP ar FieldMDP politikosEPdfErrorCompressed ypatybės, tad objektų palyginimas išlieka stabilus
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;