PDFium Delphi Component Docs

ฟังก์ชัน AppendPdfSparseUpdate

Unit: FPdfCompress
เขียน revision แบบ sparse หนึ่งรายการต่อท้ายไฟล์ PDF ที่บันทึกไว้ โดยไม่ต้องโหลด source เต็มรูปไว้ในหน่วยความจำ

Syntax

function AppendPdfSparseUpdate(Source, Dest: TStream; const Revision: TPdfSparseRevisionInfo; const Objects: TPdfSparseUpdateObjects; const TrailerExtra: AnsiString; const BeforeStartXref: AnsiString = ''): Boolean;

Parameters

Source, DestTStream
RevisionTPdfSparseRevisionInfo
ObjectsTPdfSparseUpdateObjects
TrailerExtraAnsiString
BeforeStartXrefAnsiString

Return Value

Boolean

Description

คัดลอกไบต์ของ 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 ที่ต้องใช้

See Also

ReadPdfSparseRevisionInfo, ComposePdfSparseUpdateId