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 |
Booleanคัดลอกไบต์ของ source ตามต้นฉบับ แล้วเขียน object body แต่ละชิ้นที่ระบุมาลงที่ offset เดิมที่บันทึกไว้ จากนั้นปล่อยบล็อก xref/trailer แบบ incremental หนึ่งชุดที่ /Prev โยงต่อไปยัง xref ก่อนหน้าของ revision
ทุก entry ใน Objects ต้องมี body แบบ N G obj ... endobj ครบถ้วน โดยผู้เรียกเป็นเจ้าของไบต์เหล่านั้นเอง เพื่อให้ offset ที่บันทึกไว้ยังคงตรงกับความจริง
root object ของ revision ต้องอยู่ในบรรดา object ที่ส่งเข้ามา เพราะ trailer ชุดใหม่ต้องประกาศ /Root ซ้ำสำหรับ reader ที่ไม่ย้อนไปดู revision ก่อนหน้า
คืน False โดยไม่เขียนอะไรเมื่อ stream เป็น nil หรือชี้ที่เดียวกัน ไม่มี object ส่งเข้ามา เลข object หรือ generation เกินช่วง มีเลข object ซ้ำกัน หรือ root object ขาดหายไป
ใช้ ReadPdfSparseRevisionInfo และ ComposePdfSparseUpdateId สร้างข้อมูล revision และ identifier ที่ต้องใช้