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

ทำไมการทำซับเซตฟอนต์ทำให้แก้ไขไม่ได้ แต่ยังอ่านได้

การทำซับเซตฟอนต์เก็บเฉพาะ glyph ที่ PDF ใช้อยู่ โปรแกรมอ่านยังแสดงผลได้ แต่การแก้ไขจะล้มเหลวเมื่อตัวอักษรหายไป ส่วน Compress ของ PDF123 ไม่ได้ทำซับเซตฟอนต์

PDF123 · Updated 2026-09-18

PDF อาจดูสมบูรณ์ แต่กลับปฏิเสธตัวอักษรถัดไปที่คุณพิมพ์ บ่อยครั้งไม่ใช่โปรแกรมอ่านพัง แต่เป็นการทำซับเซตฟอนต์ คือไฟล์ฝังเฉพาะ glyph ที่จำเป็นตอนเขียน และเมื่อแก้ไข ระบบเรียกหา glyph ที่ไม่เคยถูกแพ็กเข้าไป

ซับเซตคืออะไร

ฟอนต์ TrueType และ OpenType อาจมี glyph หลายหมื่นตัว แต่บันทึกสิบหน้าอาจใช้ไม่กี่ร้อย การทำซับเซตคือเขียนฟอนต์ที่ฝังไว้ใหม่ โดยทิ้ง glyph ที่ไม่ได้ใช้ ขนาดไฟล์จึงลดลง ส่วนการแสดงผลบนจอและการพิมพ์ข้อความที่มีอยู่ยังเหมือนเดิม เพราะทุกตัวอักษรในเอกสารยังครบ

การอ่านและการพิมพ์จึงยังสำเร็จ ปัญหาโผล่ภายหลัง เมื่อมีคนเปิด PDF ในโปรแกรมแก้ไขแล้วพิมพ์ตัวอักษรที่มีวรรณยุกต์หรือเครื่องหมายหายาก glyph ที่หายจะถูกแทนที่ กลายเป็นช่องว่าง หรือถูกปฏิเสธ คัดลอกข้อความที่มีอยู่มักยังทำได้ แต่การแทรกตัวอักษรใหม่ต่างหากที่ชนรูโหว่ในตาราง glyph

ซับเซตไม่ใช่การลบฟอนต์

อ็อบเจกต์ฟอนต์ยังฝังอยู่ในไฟล์ สิ่งที่หายคือส่วนที่ไม่ได้ใช้ของตาราง glyph ต่างจาก

  • การพึ่งฟอนต์ระบบที่ติดตั้งบนเครื่องของผู้อ่าน (เสี่ยงถูกแทนที่ข้ามระบบปฏิบัติการ)
  • การแปลงข้อความเป็นเส้นขอบหรือภาพ (ซึ่งทำลายการเลือกและการค้นหา)
  • การเข้ารหัสไฟล์ (Protect) เพราะการเข้ารหัสไม่ได้ทำซับเซต glyph

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

Compress ของ PDF123 ทำอะไรจริง ๆ

Compress (POST /api/v1/misc/compress-pdf) สั่งให้ qpdf บีบอัดสตรีม (--compress-streams=y) บีบอัดข้อมูล flate ใหม่ และสร้าง object stream มันไม่ทำซับเซตฟอนต์ และไม่อ้างว่าลดความละเอียดภาพ ถ้าไฟล์บีบอัดสตรีมแน่นอยู่แล้ว ไฟล์ที่ดาวน์โหลดอาจแทบไม่เปลี่ยนขนาด และถ้ามีฟอนต์ซับเซตอยู่แล้ว Compress ก็ปล่อยไว้ ไม่ได้ขยายกลับเป็นฟอนต์เต็ม

ภาพรวมว่าคันโยกเรื่องขนาดมีปฏิสัมพันธ์กันอย่างไรในไปป์ไลน์ PDF ทั่วไป (ภาพ สตรีม โครงสร้าง) ดู เมื่อคุณบีบอัด PDF เกิดอะไรขึ้นจริง ๆ ให้ถือบทความนั้นเป็นภูมิหลัง อย่าตีความว่าปุ่ม Compress ของไซต์นี้ทำซับเซตไทป์เฟซ

OCR และการแปลงเป็น Markdown ก็ไม่คืน glyph ที่หายใน PDF เพราะ OCR คืนข้อความ Markdown และ PDF to Markdown ดึงเฉพาะสิ่งที่เลเยอร์ข้อความมีอยู่

การแก้ไขกับการอ่าน ในทางปฏิบัติ

การกระทำ ผลลัพธ์ทั่วไปหลังทำซับเซต
เปิด เลื่อน พิมพ์ และเลือกข้อความที่มีอยู่ ทำได้ เพราะ glyph ที่อ้างถึงยังอยู่
แทรกตัวอักษรที่ไม่เคยใช้ในต้นฉบับ อาจล้มเหลวหรือถูกแทนที่
คาดหวังฟอนต์ที่แก้ไขได้เต็มรูปแบบใน PDF เปราะ เพราะซับเซตทิ้ง glyph ที่ไม่ได้ใช้
รัน Compress บน PDF123 สตรีมอาจเล็กลง แต่รายการ glyph ไม่เปลี่ยน

ถ้าต้องแก้ไขต่อด้วยชุดตัวอักษรเต็ม การทำซับเซตคือการตั้งค่าส่งออกที่ผิด ให้ใช้ต้นฉบับที่แก้ไขได้ (Word หรือ Markdown ผ่าน Markdown to PDF เพื่อเรนเดอร์ใหม่) หรือ PDF ที่ยังฝังฟอนต์เต็ม ส่วน Compress บน PDF123 จะไม่ใส่ glyph เหล่านั้นกลับ

เมื่อวินิจฉัยอาการ “พิมพ์ é ใน PDF นี้ไม่ได้” ให้ตรวจก่อนว่าการส่งออกต้นฉบับทำซับเซตฟอนต์หรือไม่ ก่อนโทษโปรแกรมอ่านหรือ Repair เพราะ Repair สร้างโครงสร้างใหม่ ไม่ได้ขยายตาราง glyph ส่วนการ round-trip ผ่าน Markdown อาจสร้าง PDF ใหม่ด้วยฟอนต์ที่ WeasyPrint ฝังให้สำหรับการเรนเดอร์ครั้งนั้น มีประโยชน์กับเอกสารใหม่ แต่ไม่ใช่การกู้หน้าแบบซับเซตเดิมอย่างผ่าตัด

Open tool
Process in the browser — no watermark, files removed after the job.
Open tool