PDFium Delphi Component Docs

เมธอด SaveAsObjectStream

Component: TPdf  ·  Unit: PDFium
เขียนสำเนา PDF 1.5+ แบบกะทัดรัดโดยใช้ object stream ที่ถูกจำกัดขนาดและ xref stream ที่สมบูรณ์

Syntax

function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;

StreamTStream ที่รับ PDF แบบ object stream ที่สมบูรณ์
FileNameพาธผลลัพธ์ที่จะถูกแทนที่เฉพาะเมื่อไฟล์ชั่วคราวที่อยู่ข้างเคียงสำเร็จเท่านั้น
Optionตัวเลือกการบันทึกปกติหรือ saRemoveSecurity ส่วน saIncremental จะถูกปฏิเสธ
PdfVersionเวอร์ชันผลลัพธ์ตั้งแต่ PDF 1.5 ขึ้นไป หรือ pvUnknown เพื่อคงหรือเลื่อนเวอร์ชันปัจจุบัน
MaxObjectsPerStreamจำนวนสมาชิกออบเจ็กต์สูงสุดต่อกลุ่ม ObjStm โดยค่าเริ่มต้นคือ 100
MaxDecodedBytesPerStreamขนาด payload ที่ถอดรหัสแล้วสูงสุดต่อกลุ่ม โดยค่าเริ่มต้นคือ 65536 ไบต์

Return Value

คืนค่า True เมื่อผลลัพธ์แบบ object stream เสร็จสมบูรณ์

Description

เมธอดนี้ใช้เส้นทางการบันทึกปกติของ PDFium เป็นแหล่งเชิงความหมายก่อน จากนั้นจึงแก้ไข revision ที่ใช้งานอยู่ไม่ว่าจะเป็นแบบ classic, hybrid หรือ xref stream

สมาชิกของ object stream ที่มีอยู่แล้วจะถูกทำให้เป็นรูปธรรมก่อนที่ reference จะถูกจัดหมายเลขใหม่เป็นลำดับแบบ page-local

ออบเจ็กต์ที่ไม่ใช่ stream และมีสิทธิ์จะถูกจัดกลุ่มโดยคำนึงทั้งจำนวนสมาชิกและขนาด payload ที่ถอดรหัสแล้ว จากนั้นจึงบีบอัดด้วย Flate เฉพาะเมื่อการบีบอัดช่วยลดขนาดกลุ่มได้

catalog, ออบเจ็กต์ stream, dictionary ของลายเซ็น, ค่าความยาว stream แบบ indirect และค่าที่มีขนาดใหญ่เกินไปยังคงระบุที่อยู่โดยตรงได้

xref stream ล้วนใช้ความกว้างฟิลด์แบบ adaptive และรายการ type-2 สำหรับสมาชิกที่ถูกบีบอัดทุกตัว

Constraints

Example

// Balance compact output with bounded random-access decompression
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);

See Also

SaveAs, SaveAsLinearized