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 | Izričito dozvoljava sesiju na potpisanom dokumentu; podrazumevana vrednost je odbija |
| Stream | TStream koji prima kompletan akumulirani PDF nakon ovog potvrđivanja |
| FileName | Izlazna putanja koja se zamenjuje tek nakon uspeha privremene datoteke u istom direktorijumu |
| Info | Statistika po potvrđivanju, vraćena nakon uspešnog upisa na odredište |
| ChangedObjectCount | Broj promenjenih ili novih indirektnih objekata dopisanih ovim potvrđivanjem |
| AppendedByteCount | Bajtovi dopisani nakon egzaktnog prefiksa prethodnog izlaza |
| OutputByteCount | Ukupan broj bajtova u kompletnom izlazu koji vraća ovo potvrđivanje |
| RevisionCount | Broj nepraznih revizija potvrđenih u trenutnoj sesiji |
BeginIncrementalSave snima stabilan semantički snimak PDFium-a koji služi i kao osnova za poređenje i kao prvi kompletan izlaz
Svako potvrđivanje snima trenutno stanje, razrešava aktivne klasične, hibridne, xref-stream i object-stream objekte, a zatim poredi generaciju objekata i egzaktne bajtove tela
Nakon prethodnog izlaza upisuju se samo promenjeni ili novi indirektni objekti, praćeni najmanjom potrebnom xref i trailer revizijom
Izvor sa klasičnim xref nastavlja sa klasičnim xref tabelama, dok izvor sa xref-stream nastavlja sa xref tokovima sa ugrađenim indeksom
Ako se ništa nije promenilo, prethodni izlaz se vraća bajt po bajt, nijedna revizija se ne dopisuje, a RevisionCount se ne povećava
Overload za datoteku upisuje privremenu datoteku u istom direktorijumu, atomično zamenjuje odredište i vraća stanje sesije ako upis ili zamena ne uspe
AllowSignedDocument nije True; izričita dozvola ne proverava DocMDP ili FieldMDP politikuEPdfErrorCompressed tako da poređenje objekata ostaje stabilno
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;