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 | Sallii istunnon allekirjoitetulla dokumentilla eksplisiittisesti; oletus hylkää sen |
| Stream | TStream, joka vastaanottaa täydellisen kertyneen PDF:n tämän commitin jälkeen |
| FileName | Ulostulopolku, joka korvataan vasta, kun rinnakkainen väliaikaistiedosto on onnistunut |
| Info | Commit-kohtaiset tilastot, jotka palautetaan, kun kohteen kirjoitus onnistuu |
| ChangedObjectCount | Tämän commitin lisäämien muuttuneiden tai uusien epäsuorien objektien määrä |
| AppendedByteCount | Tarkan aiemman ulostulon etuliitteen jälkeen lisätyt tavut |
| OutputByteCount | Tämän commitin palauttaman täydellisen ulostulon tavujen kokonaismäärä |
| RevisionCount | Nykyisessä istunnossa commitoitujen ei-tyhjien revisioiden määrä |
BeginIncrementalSave tallentaa vakaan PDFium-semanttisen vedoksen sekä vertailuperustaksi että ensimmäiseksi täydelliseksi ulostuloksi
Jokainen commit tallentaa nykyisen tilan, ratkaisee aktiiviset klassiset, hybridi-, xref-virta- ja objektivirtaobjektit ja vertaa sitten objektisukupolvea ja tarkkoja runkotavuja
Vain muuttuneet tai uudet epäsuorat objektit kirjoitetaan aiemman ulostulon jälkeen, jota seuraa pienin vaadittu xref- ja trailer-revisio
Klassisen xref:n lähde jatkuu klassisilla xref-taulukoilla, kun taas xref-virran lähde jatkuu itseindeksoiduilla xref-virroilla
Jos mikään ei muuttunut, aiempi ulostulo palautetaan tavu tavulta, revisiota ei lisätä eikä RevisionCount etene
Tiedostoylikuormitus kirjoittaa rinnakkaisen väliaikaistiedoston, korvaa kohteen atomisesti ja palauttaa istuntotilan, jos kirjoitus tai korvaus epäonnistuu
AllowSignedDocument ole True; eksplisiittinen lupa ei vahvista DocMDP- tai FieldMDP-käytäntöäEPdfError-virheenCompressed, joten objektivertailu pysyy vakaana
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;