Tài liệu PDF (.pdf)

ISO Tiêu chuẩn

Định dạng Tài liệu Di động (Portable Document Format - PDF) là một tiêu chuẩn tài liệu kỹ thuật số phổ biến được thiết kế để hiển thị các tài liệu một cách nhất quán độc lập với phần mềm ứng dụng, phần cứng và hệ điều hành.

Chuyển đổi PDF sang JPG

Trình chuyển đổi từ PDF sang JPG miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Nén PDF trực tuyến

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp PDF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp PDF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

25 50 44 46

BIỂU DIỄN ASCII: %PDF

Tiêu chuẩn hóa: ISO 32000-1 (2008) / ISO 32000-2 (2020)

Thông số kỹ thuật

Kiến trúc ContainerCấu trúc phân cấp đối tượng kết hợp Binary/ASCII với bảng tham chiếu chéo
NénCác bộ lọc nén: FlateDecode (Deflate), DCTDecode (JPEG), fax CCITT, JBIG2 và JPXDecode
Thứ tự byteBig-Endian (thứ tự byte mạng) cho luồng đối tượng nhị phân
Không gian màusRGB, Display P3, DeviceCMYK, Grayscale, Màu pha (Pantone)
Kênh & Cấu trúcVector đa lớp, kiểu chữ, luồng raster và siêu dữ liệu được nhúng
Kích thước tối đa200 x 200 inch (UserUnit cho phép lên tới 15.000.000 inch trong PDF 1.6+)
Độ trong suốtĐộ trong suốt alpha hoàn chỉnh, chế độ hòa trộn và mặt nạ độ mờ
Truyền phát & Tăng dầnPDF tuyến tính ('Fast Web View') cho phép truyền phát theo phạm vi byte thông qua yêu cầu HTTP Range

Ma trận so sánh kỹ thuật: PDF so với các đối thủ

Thuộc tính kỹ thuậtPDF (Hiện tại)DOCXEPUBHTML5
Độ trung thực bố cục trực quanGiúp giữ bố cục, nhưng cách hiển thị phụ thuộc vào trình xem và thiết bị đầu ra.Dựa trên luồng văn bản; thay đổi giữa các phiên bản Word và phông chữ được cài đặtBố cục trình đọc có thể dàn lại; không có đảm bảo kiểu chữ cố địnhMô hình hộp CSS uyển chuyển; kết xuất phụ thuộc vào màn hình
Tính tự chứaCó thể nhúng phông chữ và tài nguyên hình ảnh, nhưng nội dung tùy tài liệu và cài đặt tạo tệpVùng chứa XML tự chứa (phông chữ hệ thống thường không được nhúng)Vùng chứa ZIP tự chứa (tài sản XHTML/CSS được đóng gói)Yêu cầu tài nguyên HTTP bên ngoài trừ khi được đóng gói qua MHTML
Chữ ký mã hóaChữ ký số mã hóa PAdES và X.509 gốc được tích hợp vào thông số kỹ thuật ISOHỗ trợ chữ ký số Office XML DSigYêu cầu chữ ký vùng chứa kỹ thuật số tùy chỉnhYêu cầu Web Crypto API hoặc đảm bảo truyền tải TLS bên ngoài
Khả năng thích ứng với thiết bị di độngTrang có bố cục cố định (yêu cầu phóng to và di chuyển trên màn hình nhỏ)Khả năng dàn lại văn bản thích ứng xuất sắcĐược thiết kế đặc biệt cho việc đọc sách điện tử di động uyển chuyểnBố cục thích ứng gốc với truy vấn phương tiện CSS
Tiêu chuẩn hóaTiêu chuẩn Quốc tế Mở (ISO 32000-2:2020)ECMA-376 / ISO/IEC 29500Tiêu chuẩn mở W3C / IDPFTiêu chuẩn sống W3C / WHATWG

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Trình xem Acrobat hoặc PDF báo lỗi 'Tệp bị hỏng và không thể sửa chữa' hoặc mở ra hoàn toàn trống.

Nguyên nhân gốc rễ: Quá trình truyền FTP hoặc HTTP ở chế độ ASCII đã chuyển đổi chuỗi byte nhị phân (thay thế 0x0A bằng 0x0D 0x0A), làm sai lệch độ lệch byte của bảng tham chiếu chéo (xref).

Khắc phục: Các tiện ích sửa chữa PDF hiện đại (ví dụ: qpdf --repair hoặc sửa chữa File2File.app) quét lại tệp theo thứ tự tuyến tính, xây dựng lại từ điển đối tượng và tạo lại bảng xref mới.

Trình xem PDF không thể tải tài liệu hoặc bị sự cố ở trang cuối cùng.

Nguyên nhân gốc rễ: Quá trình tải xuống bị cắt ngắn hoặc quá trình ghi đĩa không hoàn chỉnh khiến tệp thiếu dấu '%%EOF' và từ điển trailer.

Khắc phục: Kiểm tra phần cuối tệp bằng lệnh 'tail -c 128 document.pdf'. Nếu thiếu %%EOF, hãy xác minh xem đối tượng danh mục gốc có tồn tại hay không và nối thêm bảng xref nhân tạo trỏ đến số thứ tự đối tượng hợp lệ lớn nhất.

Phông chữ được nhúng hiển thị dưới dạng ký hiệu không đọc được, khối trống (.notdef) hoặc dấu hỏi chấm.

Nguyên nhân gốc rễ: Phông chữ tập con không được nhúng tham chiếu đến các phông chữ hệ thống bị thiếu trên máy đang xem hoặc bảng CMap ToUnicode bị hỏng.

Khắc phục: Nhúng lại các tập con phông chữ bị thiếu thông qua Ghostscript (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) hoặc chuyển đổi các phần tử văn bản thành đường cong vector.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

PDF là một trong những định dạng phức tạp nhất trong ngành điện toán, có tính năng tập lệnh hoạt động, tệp nhúng và luồng động. Các trình duyệt hiện đại chạy trình kết xuất PDF (ví dụ: Chrome PDFium) trong các tiến trình được cô lập.

Các véc-tơ tấn công đã biết

  • JavaScript Acrobat được nhúng (JS API) thực thi mã tùy ý hoặc khai thác lừa đảo khi mở tài liệu.
  • hành động khởi chạy (/Launch) được định cấu hình để thực thi các tệp nhị phân hệ thống bên ngoài hoặc tập lệnh shell.
  • Các lỗ hổng kết xuất phông chữ trong các công cụ phân tích cú pháp phông chữ Type 1 và TrueType cũ kích hoạt hiện tượng tràn bộ đệm.
  • Giả mạo yêu cầu phía máy chủ (SSRF) và đánh cắp thông tin xác thực băm NTLM thông qua các hành động URI độc hại (/URI) hoặc gửi biểu mẫu.

Biện pháp phòng thủ tốt nhất: Không bao giờ mở các tệp PDF không đáng tin cậy khi đã bật tính năng thực thi JavaScript của Adobe Acrobat. Đối với việc xem trên web, luôn kết xuất thông qua các công cụ WebAssembly/PDF.js được cô lập trong trình duyệt, hoặc chuyển đổi các tệp PDF không đáng tin cậy thành tài liệu PDF/A-1b đã được làm sạch.

Nguồn gốc lịch sử và các cột mốc

2020Phát hành ISO 32000-2:2020, chính thức hóa các cải tiến của PDF 2.0 hiện đại.
2008Adobe chuyển giao các thông số kỹ thuật PDF cho Tổ chức Tiêu chuẩn hóa Quốc tế với tư cách là ISO 32000-1.
1993PDF 1.0 ra mắt cùng với Adobe Acrobat, hỗ trợ văn bản, liên kết và phông chữ.
1991Tiến sĩ John Warnock khởi xướng Dự án Camelot tại Adobe nhằm giải quyết tính di động của tài liệu kỹ thuật số.

Ưu điểm & Lợi ích chính

  • Được thiết kế để giữ bố cục trang trên các hệ thống khác nhau, nhưng hình thức có thể thay đổi tùy phông chữ, trình xem và cài đặt in.
  • Hỗ trợ chữ ký số dựa trên mật mã, chú thích biên tập nội dung và quyền truy cập DRM.
  • Có thể chứa đồ họa vector, phông chữ và luồng raster nén; phông chữ và tài nguyên khác không phải lúc nào cũng được nhúng.

Hạn chế & Nhược điểm kỹ thuật

  • Bản vẽ trang bố cục cố định khiến việc dàn lại tự động thích ứng trên điện thoại thông minh nhỏ trở nên khó khăn.
  • Cấu trúc luồng đối tượng nội bộ phức tạp có thể dẫn đến kích thước tệp lớn nếu không có tính năng nén và loại bỏ đối tượng không được tham chiếu.
  • JavaScript được nhúng và khả năng khởi chạy hành động động tạo ra bề mặt tấn công mở rộng.

Thông tin kỹ thuật thú vị

  • Tài liệu dự án Camelot ban đầu đã hình dung ra việc in tài liệu điện tử từ bất kỳ ứng dụng nào trực tiếp đến bất kỳ màn hình nào.
  • Mọi tệp PDF đều kết thúc bằng chuỗi chính xác '%%EOF' đánh dấu phần cuối của phần kết tệp.
  • Một số tòa án và tổ chức lưu trữ quy định PDF/A cho quy trình bảo quản; yêu cầu tùy khu vực pháp lý và tổ chức.

Các câu hỏi kỹ thuật thường gặp

Vì sao các trang PDF có thể trông tương tự trên nhiều màn hình và máy in?

PDF lưu nội dung trang bằng tọa độ cố định, giúp giữ bố cục. Tuy vậy, hình thức vẫn có thể khác nhau tùy phông chữ, trình xem, quản lý màu và cài đặt máy in.

Sự khác biệt giữa PDF tiêu chuẩn và PDF/A là gì?

PDF/A (ISO 19005) là một tập con chuyên biệt được thiết kế để lưu trữ lâu dài. Nó cấm nghiêm ngặt các tính năng có thể làm giảm khả năng đọc trong tương lai, chẳng hạn như JavaScript, liên kết phông chữ bên ngoài, mã hóa, nhúng âm thanh/video và không gian màu phụ thuộc vào thiết bị. Tất cả các phông chữ và cấu hình màu phải được nhúng 100%.

Quá trình nén PDF hoạt động như thế nào trong các tài liệu hiện đại?

PDF sử dụng nhiều bộ lọc nén rời rạc được điều chỉnh cho phù hợp với các loại nội dung. Văn bản, lệnh vector và số liệu phông chữ được nén bằng FlateDecode (zlib/deflate). Hình ảnh chụp sử dụng DCTDecode (JPEG) hoặc JPXDecode (JPEG 2000), trong khi văn bản được quét đơn sắc hai mức sử dụng nén JBIG2 hoặc CCITT Fax Group 4.

Tại sao tệp PDF thường giữ nguyên kích thước lớn ngay cả sau khi xóa các trang hoặc hình ảnh?

Khi sửa đổi PDF, nhiều trình chỉnh sửa thực hiện 'cập nhật gia tăng' - họ nối thêm các luồng đối tượng mới và bảng xref mới vào cuối tệp mà không xóa đối tượng cũ, nhờ đó có thể hoàn tác nhanh. Để thực sự giảm kích thước tệp, tài liệu cần được tối ưu hóa để thu gom các đối tượng không còn được tham chiếu.

Các cặp chuyển đổi PDF liên quan

PDF sang JPG

Chuyển từng trang PDF thành ảnh JPG để đăng, gửi trong cuộc trò chuyện hoặc chèn vào trang trình chiếu. Các trang được kết xuất ở 150 dpi; nếu PDF có nhiều trang, bạn sẽ nhận được một tệp ZIP chứa mỗi trang dưới dạng một ảnh JPG.

PDF sang PNG

Lưu mỗi trang PDF thành ảnh PNG không mất dữ liệu, đủ sắc nét cho văn bản, bảng và sơ đồ. Các trang được kết xuất ở 150 dpi; PDF nhiều trang sẽ cho ra một tệp ZIP chứa một ảnh PNG cho mỗi trang.

PNG sang PDF

Chia sẻ ảnh chụp màn hình hoặc sơ đồ PNG dưới dạng PDF một trang, giữ nguyên điểm ảnh và độ trong suốt. Trang PDF là một ảnh cố định, không phải tệp PNG có thể chỉnh sửa.

JPG sang PDF

Đặt ảnh JPEG lên một trang PDF để duyệt hoặc in. Dữ liệu ảnh hiện có được nhúng vào PDF, nhưng PDF không cung cấp các công cụ chỉnh sửa ảnh.

WEBP sang PDF

Tạo PDF một trang từ hình WebP để dùng trong tài liệu hoặc một đợt phê duyệt. Trình duyệt vẽ lại hình dưới dạng ảnh, vì vậy dữ liệu WebP và chuyển động sẽ không được giữ lại.

SVG sang PDF

Chia sẻ logo hoặc hình minh họa SVG dưới dạng PDF một trang. Các đường vector có thể co giãn được chuyển thành ảnh có độ phân giải cố định, nên phóng to không thể khôi phục chi tiết vector.

HEIC sang PDF

Chuyển ảnh HEIC tĩnh thành PDF một trang để chia sẻ hoặc dùng trong biểu mẫu. Trang PDF sử dụng dữ liệu hình ảnh 8-bit và không bao gồm chuỗi ảnh HEIC hoặc dữ liệu nguồn HDR.

AVIF sang PDF

Đặt ảnh web AVIF lên một trang PDF để đội ngũ xem xét chiến dịch. Ảnh được vẽ lên canvas tiêu chuẩn, nên dữ liệu mã hóa AVIF và dữ liệu phụ trợ HDR sẽ bị mất.