ไฟล์ PDF (.pdf)

ISO มาตรฐาน

Portable Document Format (PDF) คือมาตรฐานเอกสารดิจิทัลที่ใช้กันอย่างแพร่หลาย ออกแบบมาเพื่อแสดงเอกสารได้อย่างสม่ำเสมอโดยไม่ขึ้นอยู่กับซอฟต์แวร์แอปพลิเคชัน ฮาร์ดแวร์ หรือระบบปฏิบัติการ

แปลง PDF เป็น JPG

ตัวแปลงจาก PDF เป็น JPG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

บีบอัด PDF ออนไลน์

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ PDF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ PDF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

25 50 44 46

การแสดงผลรูปแบบ ASCII: %PDF

มาตรฐาน: ISO 32000-1 (2008) / ISO 32000-2 (2020)

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ลำดับชั้นออบเจกต์แบบไฮบริดระหว่างไบนารีกับ ASCII พร้อมตารางอ้างอิงโยง
การบีบอัดFlateDecode (Deflate), DCTDecode (JPEG), CCITT Fax, JBIG2 และ JPXDecode
การจัดลำดับไบต์Big-Endian (ลำดับไบต์แบบเครือข่าย) สำหรับสตรีมวัตถุไบนารี
พื้นที่สีsRGB, Display P3, DeviceCMYK, ระดับเทา, สีพิเศษ (Pantone)
ช่องสัญญาณและโครงสร้างเวกเตอร์หลายชั้น การจัดตัวพิมพ์ สตรีมแรสเตอร์ และข้อมูลเมตาที่ฝังอยู่
ขนาดสูงสุด200 x 200 นิ้ว (UserUnit อนุญาตให้ขยายได้ถึง 15,000,000 นิ้วใน PDF 1.6 ขึ้นไป)
ความโปร่งใสความโปร่งใสของอัลฟาเต็มรูปแบบ, โหมดการผสมสี และมาสก์ความทึบแสง
การสตรีมและแบบโปรเกรสซีฟPDF แบบ Linearized ('Fast Web View') อนุญาตให้สตรีมช่วงไบต์ผ่านคำขอ HTTP Range

ตารางเปรียบเทียบทางเทคนิค: PDF กับคู่แข่ง

คุณลักษณะทางเทคนิคPDF (ปัจจุบัน)DOCXEPUBHTML5
ความเที่ยงตรงของเลย์เอาต์ภาพช่วยรักษาเค้าโครง แต่การแสดงผลขึ้นอยู่กับโปรแกรมอ่านและอุปกรณ์ปลายทางอิงตามการไหล; แตกต่างกันไปตามเวอร์ชันของ Word และฟอนต์ที่ติดตั้งเลย์เอาต์สำหรับโปรแกรมอ่านที่ปรับการจัดวางข้อความใหม่ได้; ไม่มีการรับประกันรูปแบบตัวอักษรที่ตายตัวโมเดลกล่อง CSS แบบยืดหยุ่น; การเรนเดอร์ขึ้นอยู่กับหน้าจอ
การบรรจุข้อมูลในตัวสามารถฝังฟอนต์และทรัพยากรรูปภาพได้ แต่เนื้อหาขึ้นอยู่กับเอกสารและการตั้งค่าการสร้างคอนเทนเนอร์ XML ในตัว (ฟอนต์ระบบมักจะไม่ถูกฝัง)คอนเทนเนอร์ ZIP ในตัว (แพ็กเกจแอสเซท XHTML/CSS)ต้องใช้ทรัพยากร HTTP ภายนอกเว้นแต่จะถูกแพ็กเกจผ่าน MHTML
ลายเซ็นดิจิทัลเชิงวิทยาการรหัสลับรองรับลายเซ็นดิจิทัลเชิงวิทยาการรหัสลับ PAdES และ X.509 ในข้อกำหนด ISO โดยตรงรองรับลายเซ็นดิจิทัล Office XML DSigต้องใช้ลายเซ็นคอนเทนเนอร์ดิจิทัลแบบกำหนดเองต้องใช้ Web Crypto API หรือการรับประกันการรับส่งข้อมูล TLS ภายนอก
การตอบสนองบนมือถือผืนผ้าใบหน้ากระดาษแบบตายตัว (ต้องซูมและเลื่อนบนหน้าจอขนาดเล็ก)ปรับการจัดเรียงข้อความให้เข้ากับหน้าจอได้ดีเยี่ยมออกแบบมาโดยเฉพาะสำหรับการอ่านหนังสืออิเล็กทรอนิกส์บนมือถือแบบปรับการจัดวางได้เลย์เอาต์ตอบสนองแบบเนทีฟพร้อม CSS media queries
การกำหนดมาตรฐานมาตรฐานสากลแบบเปิด (ISO 32000-2:2020)ECMA-376 / ISO/IEC 29500มาตรฐานเปิด W3C / IDPFมาตรฐานที่ W3C / WHATWG ปรับปรุงอย่างต่อเนื่อง

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

Acrobat หรือโปรแกรมอ่าน PDF รายงานว่า 'ไฟล์เสียหายและไม่สามารถซ่อมแซมได้' หรือเปิดมาว่างเปล่าสนิท

สาเหตุหลัก: การถ่ายโอนผ่าน FTP หรือ HTTP ในโหมด ASCII แปลงลำดับไบต์ไบนารี (แทน 0x0A ด้วย 0x0D 0x0A) จนทำให้ออฟเซ็ตไบต์ในตารางอ้างอิงโยง (xref) เพี้ยน

การกู้คืน: ยูทิลิตีซ่อมแซม PDF สมัยใหม่ (เช่น qpdf --repair หรือการซ่อมแซมของ File2File.app) จะสแกนไฟล์ใหม่แบบเชิงเส้น สร้างพจนานุกรมออบเจกต์ขึ้นใหม่ และสร้างตาราง xref ใหม่

โปรแกรมอ่าน PDF โหลดเอกสารไม่สำเร็จหรือขัดข้องที่หน้าสุดท้าย

สาเหตุหลัก: การดาวน์โหลดที่ถูกตัดทอนหรือการเขียนดิสก์ที่ไม่สมบูรณ์โดยขาดเครื่องหมาย '%%EOF' และพจนานุกรมส่วนท้ายไฟล์

การกู้คืน: ตรวจสอบส่วนท้ายของไฟล์ด้วยคำสั่ง 'tail -c 128 document.pdf' หากไม่มี %%EOF ให้ตรวจสอบว่ามีออบเจกต์แคตตาล็อกรากหรือไม่ และผนวกตาราง xref เทียมที่ชี้ไปยังหมายเลขวัตถุที่ถูกต้องสูงสุด

ฟอนต์ที่ฝังแสดงผลเป็นสัญลักษณ์ที่อ่านไม่ออก, บล็อกว่าง (.notdef) หรือเครื่องหมายคำถาม

สาเหตุหลัก: ฟอนต์ย่อยที่ไม่ได้ฝังซึ่งอ้างถึงฟอนต์ระบบที่ขาดหายไปบนเครื่องที่ใช้ดู หรือตาราง ToUnicode CMap เสียหาย

การกู้คืน: ฝังชุดฟอนต์ย่อยที่ขาดหายไปอีกครั้งผ่าน Ghostscript (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) หรือแปลงองค์ประกอบข้อความให้เป็นเส้นโค้งเวกเตอร์

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

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

เวกเตอร์การโจมตีที่ทราบ

  • JavaScript ของ Acrobat ที่ฝังอยู่ (JS API) ทำการรันโค้ดตามอำเภอใจหรือใช้ประโยชน์จากการฟิชชิงเมื่อเปิดเอกสาร
  • การดำเนินการเปิด (/Launch) ที่กำหนดค่าให้เรียกใช้ไบนารีของระบบภายนอกหรือสคริปต์เชลล์
  • ช่องโหว่การเรนเดอร์ฟอนต์ในเอนจิ้นการแยกวิเคราะห์ฟอนต์ Type 1 และ TrueType รุ่นเก่า ซึ่งทริกเกอร์บัฟเฟอร์ล้น
  • การปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์ (SSRF) และการขโมยข้อมูลรับรองแฮช NTLM ผ่านการดำเนินการ URI ที่เป็นอันตราย (/URI) หรือการส่งแบบฟอร์ม

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ห้ามเปิด PDF ที่ไม่น่าเชื่อถือโดยเปิดใช้งานการรัน Adobe Acrobat JavaScript สำหรับการดูบนเว็บ ให้เรนเดอร์ผ่านเอนจิ้น WebAssembly/PDF.js ที่แซนด์บ็อกซ์ในเบราว์เซอร์เสมอ หรือแปลง PDF ที่ไม่น่าเชื่อถือให้เป็นเอกสาร PDF/A-1b ที่ผ่านการทำความสะอาดข้อมูลแล้ว

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2020เผยแพร่ ISO 32000-2:2020 ซึ่งเป็นการปรับปรุงมาตรฐาน PDF 2.0 ให้เป็นทางการ
2008Adobe โอนย้ายข้อกำหนด PDF ไปยังองค์การระหว่างประเทศว่าด้วยการมาตรฐานในฐานะ ISO 32000-1
1993เปิดตัว PDF 1.0 ควบคู่ไปกับ Adobe Acrobat โดยรองรับข้อความ ลิงก์ และฟอนต์
1991ดร. จอห์น วอร์น็อก เริ่มต้นโครงการคาเมลอต (Camelot Project) ที่ Adobe เพื่อแก้ปัญหาความสามารถในการพกพาของเอกสารดิจิทัล

ข้อได้เปรียบและจุดเด่นสำคัญ

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

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

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

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • เอกสารโครงการ Camelot ดั้งเดิมจินตนาการถึงการพิมพ์เอกสารทางอิเล็กทรอนิกส์จากแอปพลิเคชันใดก็ได้โดยตรงไปยังจอแสดงผลใดก็ได้
  • ไฟล์ PDF ทุกไฟล์ลงท้ายด้วยสตริง '%%EOF' พอดี เพื่อระบุส่วนท้ายไฟล์
  • ศาลและองค์กรจดหมายเหตุบางแห่งระบุให้ใช้ PDF/A สำหรับเวิร์กโฟลว์การเก็บรักษา ข้อกำหนดแตกต่างกันตามเขตอำนาจและสถาบัน

คำถามทางเทคนิคที่พบบ่อย

เหตุใดหน้า PDF จึงอาจดูคล้ายกันบนหน้าจอและเครื่องพิมพ์ต่าง ๆ

PDF บันทึกเนื้อหาหน้าด้วยพิกัดคงที่ จึงช่วยรักษาเค้าโครงไว้ได้ อย่างไรก็ตาม รูปลักษณ์อาจแตกต่างตามแบบอักษร โปรแกรมอ่าน การจัดการสี และการตั้งค่าเครื่องพิมพ์

ความแตกต่างระหว่าง PDF มาตรฐานและ PDF/A คืออะไร?

PDF/A (ISO 19005) คือชุดย่อยพิเศษที่ออกแบบมาสำหรับการจัดเก็บถาวรระยะยาว โดยจะห้ามฟีเจอร์ที่อาจบั่นทอนความสามารถในการอ่านในอนาคตอย่างเคร่งครัด เช่น JavaScript, การเชื่อมโยงฟอนต์ภายนอก, การเข้ารหัส, การฝังเสียง/วิดีโอ และพื้นที่สีที่ขึ้นอยู่กับอุปกรณ์ ฟอนต์และโปรไฟล์สีทั้งหมดต้องถูกฝัง 100%

การบีบอัด PDF ทำงานอย่างไรในเอกสารสมัยใหม่?

PDF ใช้ฟิลเตอร์บีบอัดแบบแยกส่วนหลายตัวที่ปรับแต่งให้เหมาะกับประเภทเนื้อหา ข้อความ คำสั่งเวกเตอร์ และเมตริกฟอนต์จะถูกบีบอัดโดยใช้ FlateDecode (zlib/deflate) ภาพถ่ายใช้ DCTDecode (JPEG) หรือ JPXDecode (JPEG 2000) ในขณะที่ข้อความสแกนแบบขาวดำระดับเดียวใช้การบีบอัด JBIG2 หรือ CCITT Fax Group 4

เหตุใดไฟล์ PDF จึงมักมีขนาดใหญ่แม้ว่าจะลบหน้าหรือรูปภาพออกแล้วก็ตาม?

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

คู่การแปลงไฟล์ PDF ที่เกี่ยวข้อง

PDF เป็น JPG

แปลงแต่ละหน้าของ PDF เป็นภาพ JPG ที่โพสต์ ส่งในแชต หรือแทรกในสไลด์ได้ แต่ละหน้าจะแสดงผลที่ 150 dpi และหาก PDF มีหลายหน้า คุณจะได้ไฟล์ ZIP ที่มี JPG หน้าละหนึ่งไฟล์

PDF เป็น PNG

บันทึกแต่ละหน้าของ PDF เป็นภาพ PNG แบบไม่สูญเสียคุณภาพ ซึ่งคมชัดพอสำหรับข้อความ ตาราง และแผนภาพ เรนเดอร์หน้าที่ 150 dpi และหาก PDF มีหลายหน้า คุณจะได้รับไฟล์ ZIP ที่มี PNG หนึ่งไฟล์ต่อหน้า

PNG เป็น PDF

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

JPG เป็น PDF

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

WEBP เป็น PDF

สร้าง PDF หนึ่งหน้าจากกราฟิก WebP สำหรับใช้ในเอกสารหรือรอบการอนุมัติ เบราว์เซอร์จะวาดกราฟิกนั้นใหม่เป็นรูปภาพ จึงไม่เก็บข้อมูล WebP หรือภาพเคลื่อนไหวไว้

SVG เป็น PDF

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

HEIC เป็น PDF

แปลงภาพถ่าย HEIC แบบภาพนิ่งเป็น PDF หนึ่งหน้าเพื่อแชร์หรือใช้กับแบบฟอร์ม หน้าดังกล่าวใช้ข้อมูลภาพ 8 บิต และไม่รวมลำดับภาพ HEIC หรือข้อมูลต้นฉบับ HDR

AVIF เป็น PDF

วางภาพเว็บ AVIF ลงบนหน้า PDF หน้าเดียวเพื่อให้ตรวจทานแคมเปญ ภาพจะถูกวาดลงบนพื้นที่วาดภาพมาตรฐาน จึงสูญเสียข้อมูลการเข้ารหัส AVIF และข้อมูลเสริม HDR