PPDF123
Formats2026-09-20อ่านประมาณ 1 นาที

ข้างใน PDF: อ็อบเจกต์ สตรีม และตาราง cross-reference

PDF คือกราฟอ็อบเจกต์มีหมายเลข สตรีมบีบอัด และแผนที่ xref ของออฟเซ็ตไบต์ Get Info ตรวจไฟล์; Repair สร้างโครงสร้างใหม่เมื่อแผนที่นั้นพัง

PDF123 · Updated 2026-09-20

PDF ไม่ใช่การเทหน้าแบนราบ แต่เป็นฐานข้อมูลเล็ก ๆ ของอ็อบเจกต์ที่มีหมายเลขกำกับ หลายตัวเก็บเป็นสตรีมบีบอัด และหาตำแหน่งด้วยตาราง cross-reference (xref) เพื่อให้โปรแกรมอ่านกระโดดไปอ็อบเจกต์หมายเลข 17 ได้โดยไม่ต้องสแกนทั้งไฟล์ เมื่อแผนที่นั้นพัง โปรแกรมอ่านจะบอกว่าไฟล์เสียหาย แม้ไบต์ของหน้ายังอยู่บนดิสก์

อ็อบเจกต์

ทุกอย่างที่น่าสนใจ ทั้งหน้า ฟอนต์ ภาพ เมตาดาตา และแคตตาล็อกเอกสาร ล้วนเป็นอ็อบเจกต์ที่มีหมายเลข หน้าชี้ไปที่ content stream กับทรัพยากรของหน้านั้น ทรัพยากรชี้ไปที่ฟอนต์และ XObject ส่วนแคตตาล็อกชี้ไปที่ต้นไม้หน้า เครื่องมือที่รวม หมุน หรือประทับตราจึงเขียนกราฟนั้นใหม่ ไม่ได้วาดพิกเซลใหม่

สตรีม

สตรีมคืออ็อบเจกต์ที่เพย์โหลดเป็นลำดับไบต์ และมักบีบอัดแบบ Flate เช่น ตัวดำเนินการเนื้อหาของหน้า ไฟล์ฟอนต์ที่ฝังไว้ และข้อมูลภาพ การเปิด PDF ในตัวแก้ข้อความจึงเห็นทั้งโทเค็น ASCII และบล็อบไบนารีปนกัน การขยายสตรีมโดยไม่เปลี่ยนหน้าตาจึงมีประโยชน์ตอนดีบัก Compress บนไซต์นี้บีบอัดสตรีมเหล่านั้นใหม่ด้วย qpdf ไม่ได้ลดตัวอย่างภาพหรือทำซับเซตฟอนต์

ตาราง cross-reference

ใกล้ท้ายไฟล์ทั่วไปมีส่วน xref (หรือ xref stream ในไฟล์รุ่นใหม่) เป็นรายการออฟเซ็ตไบต์ของแต่ละหมายเลขอ็อบเจกต์ โปรแกรมอ่านจึง seek ไปที่ออฟเซ็ตนั้นได้ การดาวน์โหลดที่ขาดกลางทาง การรวมไฟล์ที่ผิดพลาด และการบันทึกที่ค้างครึ่งทาง มักทิ้ง trailer ที่ชี้ไปออฟเซ็ตซึ่งไม่ตรงกับเนื้อหาจริงแล้ว พิกเซลของหน้าแรกอาจยังอยู่ แต่แผนที่ที่ใช้ค้นหา “หน้าแรก” กลับหายไป

นั่นคือเหตุผลที่การซ่อมโครงสร้างต่างจาก OCR หรือการปลดล็อก เพราะการซ่อมสร้างโครงสร้างภายในใหม่จากซากที่ยังใช้ได้ ไม่ได้ประดิษฐ์ภาพของหน้าที่หายไป และไม่ได้เดารหัสผ่าน

ตรวจก่อนเขียนใหม่

Get Info on PDF คืนรายงาน JSON เช่น จำนวนหน้า เมตาดาตา ฟอนต์ และรายละเอียดเชิงโครงสร้าง ไม่ใช่ PDF ที่แก้แล้ว ใช้เมื่อต้องรู้ว่ากำลังถือไฟล์อะไรอยู่ ก่อนบีบอัด แปลง หรือซ่อม

หากโปรแกรมอ่านปฏิเสธไม่ยอมเปิดไฟล์เลย ให้ลอง Repair PDF ซึ่งสร้างโครงสร้างใหม่รวมการกู้ cross-reference แต่ถ้าไฟล์เปิดได้แต่ข้อความสแกนเลือกไม่ได้ นั่นเป็นปัญหา OCR ไม่ใช่ปัญหา xref

ลำดับตัดสินใจสั้น ๆ

  1. ไฟล์เปิดไม่ได้ → Repair ก่อน
  2. ไฟล์เปิดได้ ต้องการข้อเท็จจริง (จำนวนหน้า ฟอนต์ สัญญาณการเข้ารหัส) → Get Info
  3. โครงสร้างดีอยู่แล้ว ต้องการไฟล์เล็กลงหรือข้อความที่อ่านได้จากสแกน → Compress เพื่อลดขนาด หรือ OCR เพื่อได้ Markdown ไม่ใช่รอบซ่อมอีกครั้ง

ทั้ง Get Info และ Repair รันได้โดยไม่ต้องมีบัญชี ส่วน op เดียวกันผ่าน HTTP ดู Developers และวิธีที่ Repair ต่างจากผลิตภัณฑ์ “recovery” เดสก์ท็อปแบรนด์อื่น ดู PDF Repair Online vs Recovery Toolbox searches

Open tool
Process in the browser — no watermark, files removed after the job.
Open tool
Read next
จาก Markdown เป็น PDF และกลับ: การแปลงรูปแบบเก็บอะไรไว้
Markdown↔PDF เก็บหัวเรื่อง รายการ และตารางง่ายได้ดีกว่าพิกเซล ฟอนต์เป๊ะ การแบ่งหน้า และเลย์เอาต์ไม่รอดเป็น round trip ที่ไม่สูญเสีย
ทำไมการทำซับเซตฟอนต์ทำให้แก้ไขไม่ได้ แต่ยังอ่านได้
การทำซับเซตฟอนต์เก็บเฉพาะ glyph ที่ PDF ใช้อยู่ โปรแกรมอ่านยังแสดงผลได้ แต่การแก้ไขจะล้มเหลวเมื่อตัวอักษรหายไป ส่วน Compress ของ PDF123 ไม่ได้ทำซับเซตฟอนต์
การเข้ารหัสกับรหัสผ่าน: Protect และ Unlock ทำอะไรจริง ๆ
การใส่รหัสผ่านให้ PDF คือการเข้ารหัสด้วยรหัสเปิดไฟล์ Protect เป็นตัวเพิ่ม ส่วน Unlock เป็นตัวถอดเมื่อคุณรู้รหัสอยู่แล้ว และไม่มีเครื่องมือใดกู้รหัสผ่านที่ลืมได้