การลบ metadata ออกจาก PDF คือกระบวนการกำจัดข้อมูลที่ซ่อนอยู่ภายในไฟล์ PDF ไม่ว่าจะเป็นชื่อผู้เขียน, โปรแกรมที่ใช้สร้างไฟล์, ประวัติการแก้ไข หรือแม้แต่พิกัด GPS ในบางกรณี คนส่วนใหญ่แชร์ไฟล์ PDF โดยไม่รู้ว่าข้อมูลเหล่านี้ติดมาด้วยทุกครั้ง และอาจเปิดเผยรายละเอียดที่ไม่ได้ตั้งใจจะเผยแพร่ ไม่ว่าคุณจะเป็นทนายความที่ส่งสัญญา, นักข่าวที่ปกป้องแหล่งข่าว หรือแค่คนที่ใส่ใจเรื่องความเป็นส่วนตัว การรู้วิธีลบ metadata ออกจาก PDF เป็นทักษะที่มีประโยชน์มากครับ
สารบัญ
PDF Metadata คืออะไร?
ไฟล์ PDF ไม่ได้มีแค่หน้าเอกสารที่มองเห็นได้ ภายในโครงสร้างไฟล์ ข้อกำหนด PDF ของ Adobe กำหนดให้มีสองตำแหน่งที่ metadata สามารถอยู่ได้ดังนี้ครับ:
- Document Information Dictionary - พื้นที่เก็บข้อมูลแบบ key-value ที่มีมาตั้งแต่ PDF 1.0 ประกอบด้วยฟิลด์อย่าง Author, Title, Subject, Keywords, Creator, Producer, CreationDate และ ModDate
- XMP (Extensible Metadata Platform) - รูปแบบที่ทันสมัยกว่า เป็น packet แบบ XML ที่ Adobe พัฒนาขึ้น รองรับข้อมูลที่ละเอียดกว่ามาก รวมถึง property แบบกำหนดเองที่เพิ่มโดยซอฟต์แวร์ของบุคคลที่สาม
ทั้งสองส่วนอาจมีอยู่พร้อมกันในไฟล์เดียวกัน และไม่ได้มีข้อมูลที่ตรงกันเสมอไป เครื่องมือบางตัวล้างข้อมูลเพียงส่วนใดส่วนหนึ่ง ทำให้อีกส่วนยังคงมีข้อมูลอยู่ นี่คือเหตุผลที่การทำความสะอาดแบบผิวเผินอาจทิ้งข้อมูลสำคัญไว้ได้ครับ
ข้อมูลที่ซ่อนอยู่มีอะไรบ้าง
นี่คือรายการข้อมูลที่อาจซ่อนอยู่ใน PDF ขึ้นอยู่กับว่าไฟล์นั้นถูกสร้างขึ้นอย่างไรครับ:
| ฟิลด์ Metadata | ข้อมูลที่เปิดเผย | ตำแหน่งที่เก็บ |
|---|---|---|
| Author | ชื่อที่ลงทะเบียนในซอฟต์แวร์ - มักเป็นชื่อจริงของบุคคลหรือชื่อผู้ใช้ขององค์กร | Info Dictionary + XMP |
| Creator / Producer | แอปพลิเคชันที่สร้างไฟล์ (เช่น "Microsoft Word 2019", "Adobe Acrobat Pro DC 2023") | Info Dictionary + XMP |
| Creation Date / Mod Date | timestamp แบบละเอียด บางครั้งรวม timezone ซึ่งอาจขัดแย้งกับวันที่ที่ระบุในเอกสาร | Info Dictionary + XMP |
| Revision History | จำนวนครั้งที่เอกสารถูกบันทึกและแก้ไข | XMP (xmpMM namespace) |
| Document ID | ตัวระบุเฉพาะที่สามารถเชื่อมโยงเอกสารหลายเวอร์ชันเข้าด้วยกันได้ | XMP |
| Custom Properties | ชื่อบริษัท, แผนก, สถานะทางกฎหมาย, แท็กภายใน - เพิ่มโดย Word, SharePoint หรือซอฟต์แวร์ด้านกฎหมาย | Info Dictionary + XMP |
| Embedded Fonts / Resources | ชื่อฟอนต์ที่อาจบ่งบอกถึง branding ภายในหรือซอฟต์แวร์เฉพาะองค์กร | PDF resource dictionary |
ความเสี่ยงจากข้อมูลที่ซ่อนอยู่ใน PDF
นี่ไม่ใช่แค่ปัญหาในทางทฤษฎี มีกรณีที่ถูกบันทึกไว้ชัดเจนว่าข้อมูลที่ซ่อนอยู่ใน PDF ก่อให้เกิดความเสียหายอย่างร้ายแรง:
- เอกสาร Iraq Dossier ของ Tony Blair (2003) - ไฟล์ PDF ของรัฐบาลอังกฤษที่เผยแพร่เพื่อสนับสนุนการทำสงครามอิรัก ยังคงมีการติดตามการเปลี่ยนแปลงและชื่อผู้เขียนฝังอยู่ นักข่าวสามารถดึงชื่อข้าราชการที่ร่างเอกสารออกมาได้ ส่งผลให้เกิดความอับอายทางการเมืองอย่างมาก
- การยื่นเอกสารในคดีความ - สำนักงานกฎหมายเคยยื่นเอกสารที่ยังมีความคิดเห็นของฝ่ายตรงข้าม, การติดตามการเปลี่ยนแปลง หรือบันทึกภายในฝังอยู่ใน PDF โดยไม่ได้ตั้งใจ
- วงการสื่อมวลชน - แหล่งข่าวที่รั่วไหลเอกสารอาจถูกระบุตัวตนได้ หากฟิลด์ Author หรือ Document ID ใน PDF เชื่อมโยงกับข้อมูลการเข้าสู่ระบบของพวกเขา
- การจัดซื้อจัดจ้างและการประมูล - บริษัทต่าง ๆ เคยเปิดเผยโครงสร้างต้นทุนภายในผ่าน custom metadata field ที่ซอฟต์แวร์บัญชีเพิ่มเข้ามาก่อนส่งเอกสารประมูล
วิธีลบ Metadata ออกจาก PDF
มีหลายวิธีในการลบ metadata ออกจาก PDF แต่ละวิธีมีข้อดีข้อเสียต่างกันครับ
ตัวเลือกที่ 1: Adobe Acrobat Pro (Windows / Mac)
นี่คือตัวเลือกบนเครื่องที่ครอบคลุมที่สุดสำหรับคนที่มี Acrobat Pro อยู่แล้ว
- เปิดไฟล์ PDF ใน Acrobat Pro
- ไปที่ Tools > Redact > Sanitize Document - ฟังก์ชันนี้จะลบ metadata, เนื้อหาที่ฝังอยู่, script และ layer ที่ซ่อนอยู่ทั้งหมดในครั้งเดียว
- หรือจะไปที่ File > Properties > Description เพื่อล้างฟิลด์แต่ละรายการด้วยตนเอง แต่วิธีนี้ส่งผลกับ Info Dictionary เท่านั้น ไม่ได้แตะ XMP
ตัวเลือกที่ 2: ExifTool (ฟรี, Command Line)
ExifTool โดย Phil Harvey ถือเป็นมาตรฐานทองคำสำหรับการจัดการ metadata ในไฟล์หลายสิบประเภท รวมถึง PDF ใช้งานได้ฟรีบน Windows, Mac และ Linux
เพื่อลบ metadata ทั้งหมดออกจาก PDF:
exiftool -all= yourfile.pdf
เพื่อลบ metadata และบันทึกเป็นไฟล์ใหม่ (เก็บต้นฉบับไว้):
exiftool -all= -o cleanfile.pdf yourfile.pdf
ExifTool ลบทั้ง Info Dictionary และ XMP packet อย่างไรก็ตาม มันไม่ได้ลบฟอนต์ที่ฝังอยู่, layer ที่ซ่อนอยู่ หรือความคิดเห็น - สำหรับสิ่งเหล่านั้นต้องใช้ฟังก์ชัน Sanitize ของ Acrobat หรือโปรแกรม PDF sanitizer เฉพาะทางครับ
ตัวเลือกที่ 3: พิมพ์เป็น PDF (วิธีเร็วแต่หยาบ)
การเปิด PDF แล้วพิมพ์ออกเป็น PDF ใหม่โดยใช้ PDF printer ที่มีในระบบปฏิบัติการ (Windows Print to PDF หรือ macOS Save as PDF) จะลบ metadata ส่วนใหญ่ออก เพราะเป็นการ render เอกสารใหม่ทั้งหมด ข้อเสียคืออาจทำให้ interactive element หายไป, สูญเสีย bookmark และบางครั้งคุณภาพลดลง เหมาะสำหรับเอกสารข้อความธรรมดา แต่ไม่เหมาะกับฟอร์มที่ซับซ้อนหรือกราฟิกแบบ layer ครับ
ตัวเลือกที่ 4: Python กับ pikepdf (สำหรับนักพัฒนา)
ถ้าคุณต้องการประมวลผล PDF แบบ programmatic, pikepdf คือ Python library ที่สะอาดสร้างบน QPDF ให้คุณควบคุม metadata ได้อย่างละเอียด
import pikepdf
with pikepdf.open("input.pdf") as pdf:
with pdf.open_metadata() as meta:
meta.clear()
del pdf.docinfo # clears the Info Dictionary
pdf.save("output_clean.pdf")
ตัวเลือกที่ 5: ใช้เครื่องมือออนไลน์อย่าง PDFDeal
ถ้าไม่อยากติดตั้งซอฟต์แวร์หรือเขียนโค้ด เครื่องมือออนไลน์คือทางเลือกที่เร็วที่สุด PDFDeal ให้คุณอัปโหลด PDF, ลบ metadata ออก และดาวน์โหลดไฟล์ที่สะอาดแล้วได้โดยตรงในเบราว์เซอร์ ไม่ต้องติดตั้งอะไรเลย เหมาะมากสำหรับไฟล์ที่ทำครั้งเดียว หรือเมื่อใช้งานบนเครื่องที่ไม่สามารถติดตั้งซอฟต์แวร์ได้
อย่างไรก็ตาม การอัปโหลดเอกสารสำคัญไปยังบริการของบุคคลที่สามมีความเสี่ยงด้านความเป็นส่วนตัวในตัวเองครับ สำหรับไฟล์ที่มีความลับสูง ควรใช้เครื่องมือในเครื่องอย่าง ExifTool หรือ Acrobat Pro จะปลอดภัยกว่า
วิธีตรวจสอบว่า Metadata ถูกลบออกแล้ว
หลังจากลบ metadata ออกจาก PDF แล้ว ควรตรวจสอบผลลัพธ์เสมอก่อนแชร์ไฟล์ การสมมติว่าทำความสะอาดสำเร็จแล้วโดยไม่ตรวจสอบคือสาเหตุที่ทำให้ข้อมูลรั่วไหลได้ครับ
-
ExifTool
- รัน
exiftool cleanfile.pdfแล้วตรวจดูผลลัพธ์ คุณควรเห็นแค่ฟิลด์โครงสร้างพื้นฐาน (ขนาดไฟล์, เวอร์ชัน PDF) ไม่ใช่ข้อมูลส่วนบุคคล - Adobe Acrobat Reader (ฟรี) - ไปที่ File > Properties แล้วตรวจสอบแท็บ Description และ Custom
- เครื่องมือดู metadata ออนไลน์ - มีเครื่องมือฟรีหลายตัวที่ให้คุณอัปโหลด PDF และแสดง metadata ดิบออกมา เหมาะสำหรับการตรวจสอบเบื้องต้นโดยไม่ต้องติดตั้งซอฟต์แวร์
ลบ Metadata ออกจาก PDF ได้ทันที - ไม่ต้องติดตั้งซอฟต์แวร์
อัปโหลด PDF และลบข้อมูลที่ซ่อนอยู่ทั้งหมดได้ภายในไม่กี่วินาที ล้างชื่อผู้เขียน, timestamp, ประวัติการแก้ไข และ custom property ก่อนแชร์ไฟล์ใด ๆ
ลองใช้เครื่องมือฟรีของเรา →
ไม่แน่นอนครับ การแปลงเป็น Word มักจะนำ metadata ของ PDF ต้นฉบับเข้าไปใน property ของเอกสาร Word ด้วย และเมื่อส่งออกกลับเป็น PDF ก็อาจฝัง metadata นั้นกลับเข้าไปอีกครั้ง บางครั้งยังเพิ่มฟิลด์เฉพาะของ Word อย่างชื่อบริษัทจาก Office license เข้าไปด้วย ควรใช้เครื่องมือลบ metadata โดยเฉพาะหรือใช้ ExifTool กับไฟล์ PDF โดยตรงจะดีกว่าครับ
ไม่ครับ ทั้งสองแก้ปัญหาคนละอย่างกัน การ redact คือการลบข้อความหรือรูปภาพที่มองเห็นได้ออกจากหน้าเอกสาร (เช่น การปิดทับชื่อในสัญญา) ส่วนการลบ metadata คือการกำจัดข้อมูลที่มองไม่เห็นซึ่งเก็บอยู่ในโครงสร้างไฟล์ เอกสารที่ redact อย่างถูกต้องแล้วยังสามารถเปิดเผยชื่อผู้เขียนผ่าน metadata ได้ ดังนั้นมักต้องทำทั้งสองขั้นตอนควบคู่กันครับ
ได้ครับ ฟิลด์ Creator บันทึกแอปพลิเคชันต้นทาง (เช่น "Microsoft Word") ในขณะที่ฟิลด์ Producer บันทึกโปรแกรมที่แปลงเป็น PDF ส่วนฟิลด์ Author มักถ่ายโอนมาจากผู้ใช้ที่ลงทะเบียนในเอกสารต้นฉบับ เมื่อรวมกับ timestamp จะสามารถสร้างภาพที่ค่อนข้างละเอียดของผู้ที่สร้างและแก้ไขไฟล์ได้ แม้จะผ่านการแปลงรูปแบบมาแล้วก็ตาม
ไม่ครับ การป้องกันด้วยรหัสผ่านแบบมาตรฐานของ PDF จะเข้ารหัสเนื้อหาในหน้าเอกสาร แต่ยังทิ้ง metadata dictionary ไว้ให้เข้าถึงได้ เครื่องมืออย่าง ExifTool สามารถอ่านและแสดง metadata ของ PDF ที่ป้องกันด้วยรหัสผ่านได้โดยไม่ต้องใช้รหัสผ่านนั้น ถ้าต้องการความเป็นส่วนตัวจริง ๆ ต้องลบ metadata ออกแยกต่างหากก่อนหรือหลังการตั้งรหัสผ่านครับ
ในบางประเทศมีครับ ภายใต้ GDPR ของสหภาพยุโรป ข้อมูลส่วนบุคคลที่ฝังอยู่ในเอกสาร (เช่น ชื่อผู้เขียน) อยู่ภายใต้หลักการลดข้อมูลให้น้อยที่สุดเมื่อแชร์กับบุคคลที่สาม นอกจากนี้ สมาคมทนายความหลายแห่งยังมีกฎจรรยาบรรณวิชาชีพที่กำหนดให้ทนายความต้องลบ metadata ออกจากเอกสารก่อนส่งให้ฝ่ายตรงข้ามหรือศาลด้วยครับ