Formats2026-09-203 phút đọc

Bên trong một PDF: object, stream và bảng cross-reference

PDF là một đồ thị các object được đánh số, các stream nén và bảng xref chứa offset byte. Get Info soi nó; Repair dựng lại cấu trúc khi bản đồ đó gãy.

PDF123 · Updated 2026-09-20

Một PDF không phải là một bản dump trang phẳng. Nó là một cơ sở dữ liệu nhỏ gồm các object, nhiều object được lưu dưới dạng stream nén, và được định vị nhờ một bảng cross-reference (xref) để trình đọc nhảy thẳng tới object 17 mà không phải quét toàn bộ tệp. Khi bản đồ đó gãy, trình xem gọi tệp là hỏng, dù các byte của trang vẫn còn nằm trên đĩa.

Object

Mọi thứ đáng quan tâm (trang, font, ảnh, metadata, catalog của tài liệu) đều là một object kèm số hiệu. Các trang trỏ tới content stream và resource; resource trỏ tới font và XObject; catalog trỏ tới cây trang. Những công cụ ghép, xoay hay đóng dấu chủ yếu viết lại đồ thị đó chứ không vẽ lại pixel.

Stream

Một stream là object có payload là một chuỗi byte, thường được nén Flate: các toán tử nội dung trang, tệp font nhúng, dữ liệu ảnh. Vì thế khi mở một PDF bằng trình soạn thảo văn bản, bạn thấy lẫn lộn token ASCII và các khối nhị phân. Mở rộng stream (mà không đổi cách trang hiển thị) hữu ích cho việc gỡ lỗi; Compress trên site này nén lại những stream đó bằng qpdf, chứ không giảm mẫu ảnh hay subset font.

Bảng cross-reference

Gần cuối một tệp điển hình, một mục xref (hoặc một xref stream ở những tệp mới hơn) liệt kê offset byte cho từng số object. Trình đọc seek tới những offset đó. Tải về dở dang, ghép lỗi và những lần lưu nửa chừng thường để trailer trỏ tới offset không còn khớp nữa. Pixel của trang một có thể vẫn còn; tấm bản đồ tìm ra “trang một” thì không.

Đó là lý do sửa cấu trúc là một việc khác với OCR hay unlock: repair dựng lại cấu trúc bên trong từ những mảnh còn hợp lệ; nó không tạo ra phần hình ảnh trang còn thiếu hay đoán ra mật khẩu.

Kiểm tra trước khi viết lại

Get Info on PDF trả về một báo cáo JSON (số trang, metadata, font, các chi tiết cấu trúc), không phải một PDF đã bị sửa. Hãy dùng nó khi cần biết mình đang giữ thứ gì trước khi nén, chuyển đổi hay sửa chữa.

Nếu trình xem từ chối mở tệp, hãy thử Repair PDF, công cụ dựng lại cấu trúc bao gồm khôi phục cross-reference. Nếu tệp mở được nhưng chữ scan không chọn được, đó là bài toán OCR, không phải xref.

Thứ tự quyết định ngắn gọn

  1. Tệp không mở được → Repair trước.
  2. Tệp mở được; bạn cần sự thật (số trang, font, dấu hiệu mã hóa) → Get Info.
  3. Cấu trúc ổn; bạn muốn tệp nhỏ hơn hoặc chữ đọc được từ bản scan → Compress để giảm kích thước, hoặc OCR để lấy chữ Markdown, không phải thêm một lượt repair.

Cả Get Info lẫn Repair đều chạy không cần tài khoản. Muốn cùng những thao tác đó qua HTTP, xem Nhà phát triển. Repair khác các sản phẩm “recovery” desktop có thương hiệu ở chỗ nào, xem Sửa PDF trực tuyến và các tìm kiếm Recovery Toolbox.

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