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 | Izrecno dovoli sejo na podpisanem dokumentu; privzeto ga zavrne |
| Stream | TStream, ki po tem potrditvenem zapisu prejme popoln nakopičeni PDF |
| FileName | Izhodna pot, zamenjana šele, ko uspe sorojna začasna datoteka |
| Info | Statistika posamezne potrditve, vrnjena po uspešnem zapisu na cilj |
| ChangedObjectCount | Število spremenjenih ali novih posrednih predmetov, pripetih s to potrditvijo |
| AppendedByteCount | Bajti, pripeti za točno predhodno izhodno predpono |
| OutputByteCount | Skupno število bajtov v popolnem izhodu, vrnjenem s to potrditvijo |
| RevisionCount | Število nepraznih revizij, potrjenih v trenutni seji |
BeginIncrementalSave zajame stabilen semantični posnetek PDFium kot izhodišče primerjave in kot prvi popolni izhod
Vsaka potrditev zajame trenutno stanje, razreši dejavne predmete klasičnega, hibridnega, xref-stream in object-stream tipa, nato primerja generacijo predmetov in točne bajte teles
Za prejšnjim izhodom se zapišejo le spremenjeni ali novi posredni predmeti, sledi pa najmanjša zahtevana revizija xref in trailer
Vir s klasičnim xref-om nadaljuje s klasičnimi tabelami xref, vir s xref-streamom pa s samoindeksiranimi toki xref
Če se nič ni spremenilo, se prejšnji izhod vrne bajt za bajtom, nobena revizija se ne pripne in RevisionCount se ne poveča
Overload za datoteko zapiše sorojno začasno datoteko, cilj zamenja atomarno in ob neuspešnem zapisu ali zamenjavi obnovi stanje seje
AllowSignedDocument enak True; izrecno dovoljenje ne overjera pravilnika DocMDP ali FieldMDPEPdfErrorCompressed, tako da primerjava predmetov ostane stabilna
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;