'There was an error opening this document'
ข้อความนี้ขึ้นชื่อเรื่องไม่บอกอะไรเลย และมันครอบคลุมสาเหตุที่ไม่เกี่ยวกันอย่างน้อย 6 อย่าง ตั้งแต่ดาวน์โหลดไม่จบ ไปจนถึงไฟล์ที่ไม่ใช่ PDF มาตั้งแต่แรก ก่อนจะสรุปว่าเอกสารเสียแล้ว ลองไล่เช็กตามลำดับความน่าจะเป็นก่อน เพราะส่วนใหญ่กู้คืนได้ และสาเหตุที่พบบ่อยที่สุดใช้เวลาแก้แค่ครึ่งนาที คู่มือนี้บอกวิธีแยกแยะแต่ละกรณี และสิ่งที่แต่ละกรณีต้องการ
โครงสร้างของ PDF แบบย่อ
เข้าใจแค่เรื่องเดียวก็อธิบายอาการ PDF เสียได้เกือบทั้งหมด PDF คือกลุ่มของออบเจ็กต์ที่มีหมายเลขกำกับ และท้ายสุดของไฟล์มีตารางอ้างอิง (cross-reference table) ที่บอกตำแหน่งไบต์ของแต่ละออบเจ็กต์ ตามด้วยตัวชี้ไปยังตารางนั้นและเครื่องหมาย %%EOF โปรแกรมอ่าน PDF จึงเริ่มเปิดไฟล์โดยกระโดดไปท้ายไฟล์ก่อน
นี่คือสาเหตุที่ไฟล์ดาวน์โหลดไม่จบถึงเปิดไม่ได้เลยแม้แต่หน้าเดียว แค่หายไปไม่กี่กิโลไบต์ท้ายไฟล์ ก็เท่ากับเสียดัชนีของทุกอย่างที่เหลือ — หน้าเอกสารอาจอยู่ครบสมบูรณ์แต่เข้าไม่ถึง และนี่ก็คือเหตุผลที่เครื่องมือซ่อมใช้ได้ผล: สแกนหาออบเจ็กต์ทั่วไฟล์แล้วสร้างตารางอ้างอิงขึ้นมาใหม่
ไล่เช็กตามลำดับนี้
| เช็กอะไร | ทำอย่างไร | ถ้าใช่สาเหตุนี้ |
|---|---|---|
| ไฟล์ครบไหม | เทียบขนาดไฟล์กับต้นทาง หรือดาวน์โหลดใหม่ | ดาวน์โหลดอีกครั้ง โดยใช้เน็ตที่นิ่ง ๆ |
| เป็น PDF จริงหรือเปล่า | เปิดด้วย text editor — PDF จริงต้องเริ่มด้วย %PDF-1.x | หน้า HTML แจ้งข้อผิดพลาดที่ถูกเซฟเป็น .pdf พบบ่อยมาก เช่นเดียวกับไฟล์ที่ถูกเปลี่ยนนามสกุล |
| ถูกเข้ารหัสไหม | มีโปรแกรมอ่านตัวไหนถามรหัสผ่านหรือเปล่า | คุณต้องการรหัสผ่าน ไม่ใช่การซ่อม |
| โปรแกรมอื่นเปิดได้ไหม | ลองเปิดในเบราว์เซอร์ แล้วลองแอปอื่น | ปัญหาอยู่ที่โปรแกรมอ่าน ไม่ใช่ไฟล์ |
| เป็นแคชหรือปลั๊กอินของโปรแกรมอ่านไหม | ลองหน้าต่างส่วนตัว (private window) หรือเครื่องอื่น | ล้างแคช ส่วนขยาย PDF บางตัวในเบราว์เซอร์พังกับไฟล์ใหญ่ |
| ซ่อมแล้วกลับมาไหม | รัน Repair PDF | ตารางอ้างอิงเสียและถูกสร้างใหม่แล้ว |
การเช็กด้วย text editor ควรทำตั้งแต่ต้น ๆ เพราะเร็วและฟันธงได้ทันที PDF เริ่มด้วย %PDF- ถ้าตัวอักษรแรก ๆ เป็น <!DOCTYPE html สิ่งที่คุณดาวน์โหลดมาคือหน้า login หรือหน้าแจ้งข้อผิดพลาด ถ้าเป็น PK แปลว่าเป็นไฟล์แบบ ZIP เช่น DOCX ที่ตั้งนามสกุลผิด
การซ่อมทำอะไรได้และทำอะไรไม่ได้
การซ่อมคือการสแกนทั้งไฟล์หาคำนิยามของออบเจ็กต์ สร้างตารางอ้างอิงขึ้นใหม่จากสิ่งที่พบ แล้วเขียนเป็นเอกสารใหม่Repair PDF ทำสิ่งนี้ในเบราว์เซอร์
- มักกู้ได้: ตารางอ้างอิงเสียหรือหายไป การบันทึกแบบ incremental save ที่ค้างกลางทาง ไฟล์ที่ซอฟต์แวร์บางตัวเขียนโครงสร้างออกมาเพี้ยนเล็กน้อย ไบต์แปลก ๆ ที่ระบบเมลแปะไว้หน้าไฟล์
- กู้ได้บางส่วน: ไฟล์ที่ถูกตัดท้าย ทุกอย่างก่อนจุดที่ขาดมักกู้คืนได้ เอกสาร 200 หน้าจึงอาจกลับมา 180 หน้า ซึ่งหลายครั้งก็เพียงพอ
- กู้ไม่ได้: ไฟล์ที่เข้ารหัสแต่ไม่มีรหัสผ่าน ไฟล์ที่ข้อมูลออบเจ็กต์เองเสีย (ไม่ใช่แค่ดัชนีเสีย) และไฟล์ที่ไม่เคยเป็น PDF ไม่มีเครื่องมือใดสร้างไบต์ที่หายไปขึ้นมาเองได้
เมื่อเปิดได้แต่ทำตัวแปลก ๆ
นี่เป็นปัญหาอีกกลุ่มหนึ่ง ที่สาเหตุต่างออกไป:
- หน้าว่างเปล่า มักเป็นฟอนต์หรือเลเยอร์โปร่งใสที่โปรแกรมอ่านเรนเดอร์ไม่ได้ ลองโปรแกรมอื่นก่อนสรุปว่าหน้าว่างจริง ถ้าโปรแกรมหนึ่งเห็นเนื้อหาแต่อีกโปรแกรมไม่เห็น ไฟล์ปกติดี โปรแกรมอ่านต่างหากที่มีปัญหา
- ตัวอักษรผิดหรือหาย พบบ่อยกับภาษาไทย: ไฟล์อ้างถึงฟอนต์แต่ไม่ได้ฝังฟอนต์มาด้วย โปรแกรมอ่านจึงหยิบฟอนต์อื่นมาแทน การฝังฟอนต์ตอน export ป้องกันได้ แต่แก้ย้อนหลังแบบชัวร์ ๆ ไม่มี
- ช้ามาก ปกติเกิดจากรูปขนาดมหึมา เลเยอร์โปร่งใสซ้อนกันหลายชั้น หรือออบเจ็กต์เวกเตอร์หลายพันชิ้นในหน้าเดียว บีบอัดเอกสารมักช่วยได้
- เปิดได้บนเครื่องหนึ่ง อีกเครื่องไม่ได้ แทบทั้งหมดเป็นเรื่องเวอร์ชันของโปรแกรมอ่าน ไม่ใช่ไฟล์
- บนจอดูถูก แต่พิมพ์ออกมาผิด ไดรเวอร์เครื่องพิมพ์จัดการความโปร่งใสต่างกัน ให้ flatten ก่อนพิมพ์
ป้องกันไม่ให้เกิดอีก
PDF ที่เสียส่วนใหญ่เสียระหว่างส่งหรือระหว่างเก็บ ไม่ใช่ตอนสร้าง ดาวน์โหลดไฟล์ใหญ่ ๆ ผ่านเน็ตที่เสถียร และเทียบขนาดกับที่ต้นทางระบุไว้ อย่าแก้ไข PDF ที่ยังซิงก์ไม่เสร็จในโฟลเดอร์คลาวด์ เพราะเป็นวิธีสร้างไฟล์ที่เขียนไปครึ่งเดียวได้ชะงัดนัก เก็บไฟล์ต้นฉบับไว้เสมอ — PDF ที่สร้างใหม่จากไฟล์ Word หรือไฟล์งานออกแบบต้นทางสะอาดกว่าไฟล์ที่ซ่อมมาแน่นอน และเมื่อได้รับ PDF สำคัญ ๆ อย่างเอกสารราชการหรือสัญญา ให้เปิดดูสักครั้งทันทีที่ได้รับ ดีกว่ามาพบอีกปีหนึ่งให้หลังว่ามันเปิดไม่ได้มาตั้งแต่แรก