สตรีมออบเจกต์คืออะไร?
รหัสผ่านสำหรับเปิดไฟล์ สตรีมออบเจกต์ ซึ่งถูกนำมาใช้ใน PDF 1.5 เป็นวิธีการแบบกะทัดรัดสำหรับจัดเก็บออบเจกต์ทางอ้อมหลายรายการไว้ในสตรีมออบเจกต์เดียวของ PDF โดยมักใช้ตัวกรองการบีบอัด (ISO 32000-2)
ต่างจากออบเจกต์แบบมาตรฐาน ตรงที่ละเว้นคีย์เวิร์ด obj และ endobj โดยทั่วไปมักใช้ร่วมกับสตรีมอ้างอิงไขว้ สตรีมออบเจกต์ช่วยลดขนาดไฟล์และเพิ่มประสิทธิภาพของเอกสาร PDF รองรับฟีเจอร์ต่างๆ เช่น โครงสร้างเชิงตรรกะหรือ เมทาดาทา การจัดเก็บ
Object stream ช่วยประหยัดอะไรบ้าง
ออบเจ็กต์ส่วนใหญ่ในไฟล์ PDF มีขนาดเล็ก เช่น ดิกชันนารีที่อธิบายหน้าไฟล์ การอ้างอิงฟอนต์ หรือคำอธิบายประกอบ เมื่อเขียนแยกเป็นออบเจ็กต์เดี่ยวๆ จะมีโอเวอร์เฮดต่อออบเจ็กต์และไม่สามารถบีบอัดรวมกันเป็นกลุ่มได้ Object stream จะรวบรวมออบเจ็กต์เล็กๆ เหล่านั้นจำนวนมาก COS ไว้ในสตรีมเดียวและบีบอัดรวมกัน เนื่องจากโครงสร้างที่คล้ายกันมักถูกบีบอัดได้ดีเมื่ออยู่ติดกัน จึงช่วยประหยัดขนาดไฟล์ได้มากสำหรับเอกสารที่มีหลายหน้า หรือมีคำอธิบายประกอบจำนวนมาก
Cross-reference stream ที่มาพร้อมกัน
ออบเจ็กต์ที่เก็บด้วยวิธีนี้จะไม่สามารถค้นหาได้ด้วย cross-reference table แบบเดิม ซึ่งบันทึก byte offset ในตัวไฟล์เอง ดังนั้นไฟล์ที่ใช้ object stream จึงต้องใช้ cross-reference stream ร่วมด้วย ซึ่งตัวมันเองก็ถูกบีบอัด และบันทึกตำแหน่งของออบเจ็กต์แต่ละตัว รวมถึง object stream ที่เก็บออบเจ็กต์นั้นไว้ด้วย
ทั้งสองอย่างถูกนำมาใช้พร้อมกันใน PDF 1.5 ในทางปฏิบัติ หมายความว่าไฟล์ลักษณะนี้จะไม่สามารถอ่านได้ด้วยโปรแกรมแก้ไขข้อความธรรมดา และโปรแกรมอ่าน PDF รุ่นเก่าที่รองรับเพียง PDF 1.4 จะไม่สามารถเปิดไฟล์ได้เลย