function AppendPdfSparseUpdate(Source, Dest: TStream; const Revision: TPdfSparseRevisionInfo; const Objects: TPdfSparseUpdateObjects; const TrailerExtra: AnsiString; const BeforeStartXref: AnsiString = ''): Boolean;
| Source, Dest | TStream |
| Revision | TPdfSparseRevisionInfo |
| Objects | TPdfSparseUpdateObjects |
| TrailerExtra | AnsiString |
| BeforeStartXref | AnsiString |
BooleanKopiert die Quell-Bytes unverändert, fügt jeden übergebenen Objektkörper an seinem aufgezeichneten Offset an und schreibt einen einzelnen inkrementellen xref-/Trailer-Block, dessen /Prev an den vorherigen xref der Revision ankettet
Jeder Eintrag in Objects muss einen vollständigen N G obj ... endobj-Körper tragen; diese Bytes gehören dem Aufrufer, damit die aufgezeichneten Offsets korrekt bleiben
Das Wurzelobjekt der Revision muss zu den übergebenen Objekten gehören, weil der neue Trailer /Root für Leser erneut ausweist, die nie über die letzte Revision hinausblicken
Gibt False zurück, ohne zu schreiben, wenn die Streams nil oder identisch sind, keine Objekte übergeben werden, eine Objektnummer oder Generation außerhalb des gültigen Bereichs liegt, doppelte Objektnummern auftreten oder das Wurzelobjekt fehlt
Verwenden Sie ReadPdfSparseRevisionInfo und ComposePdfSparseUpdateId, um die Revisionsfakten und den Bezeichner aufzubauen