Kiểm tra nén hình ảnh được sử dụng trong tài liệu PDF?


7

Có thể tìm ra thuật toán nén nào đã được sử dụng cho hình ảnh trong tài liệu PDF không?


Nếu phần mềm này bao gồm phần mềm trả phí, hãy sử dụng Acrobat Pro , có Trình kiểm tra đối tượng.
usr2564301

Câu trả lời:


7

Bạn có thể sử dụng pdfimages -list $filetrên các hệ thống Unix / Linux, trên Windows, có thể bạn có thể cài đặt poppler để có quyền truy cập vào công cụ (xem https://en.wikipedia.org/wiki/Pdfimages ). Lưu ý rằng đây là một ứng dụng dòng lệnh, không có giao diện người dùng đồ họa. Đầu ra của nó sẽ trông như

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    1240  1753  gray    1   8  image  no         8  0   150   150  301K  14%
   2     1 image    1240  1753  gray    1   8  image  no        22  0   150   150  281K  13%
   3     2 image    1240  1753  gray    1   8  image  no        36  0   150   150  336K  16%

Trong đó enccột cho bạn biết thuật toán mã hóa, các giá trị có thể được liệt kê trong trang hướng dẫnpdfimages .


1
lưu ý trang web xpdf dường như có cửa sổ và nhị phân mac
Yorik

btw, tôi đã bối rối vì phiên bản pdfimages tôi có, không chứa tùy chọn "-list". Hóa ra dự án đã được rẽ nhánh vào năm 2011, vì vậy bạn sẽ muốn pdfimages từ Poppler, chứ không phải xpdf của Glyph & Cog
cavalcade

5

Sắp xếp

Nếu bạn mở tệp PDF trong trình chỉnh sửa văn bản, bạn sẽ tìm thấy một dòng như thế này cho mỗi hình ảnh:

<</Subtype/Image/Length 7986/Filter/FlateDecode/BitsPerComponent 8/ColorSpace 34 0 R/Width 368/Height 110/Type/XObject>>stream
...

Hình ảnh này sử dụng bộ lọc FlateDecode, "bộ lọc thường được sử dụng dựa trên thuật toán zlib / deflate (còn gọi là gzip, nhưng không phải zip)"

<</Subtype/Image/Length 892/Filter/DCTDecode/BitsPerComponent 8/ColorSpace 34 0 R/Width 44/Height 23/Type/XObject>>stream
...

Hình ảnh này sử dụng bộ lọc DCTDecode, "bộ lọc tổn thất dựa trên tiêu chuẩn JPEG"

Các định nghĩa bộ lọc được lấy từ trang Wikipedia Định dạng Tài liệu Di động , có danh sách tất cả các bộ lọc được hỗ trợ.

Tuy nhiên, có thể khó tìm ra hình ảnh nào trong trình soạn thảo văn bản - các đối tượng không nhất thiết phải xảy ra theo thứ tự đọc. Chia PDF thành các trang duy nhất có thể giúp đỡ ở đây.

Tôi nghĩ Enf Focus Pitstop Pro , một plugin Acrobat, có thể cung cấp cho bạn thông tin này (cùng với kích thước, vị trí, DPI, v.v.) trong trình kiểm tra đối tượng của nó, nhưng tôi không còn có nó và dường như không thể tìm thấy bất kỳ đề cập nào về cụ thể này thuộc tính trong hướng dẫn của họ.


1
Acrobat cũng có vô số báo cáo preflight được xác định trước. Không chắc chắn nếu chúng có sẵn trong phiên bản miễn phí (?)
horatio

Lưu ý rằng PNG cũng sử dụng thuật toán nén DEFLATE (zlib là một triển khai của DEFLATE). Vì vậy, bạn có thể nghĩ về ví dụ đầu tiên giống như một hình ảnh PNG ở nhiều khía cạnh như nó sẽ nén tốt đến mức nào.
thomasrutter

@horatio: Họ không có. Ngoài ra phiên bản miễn phí được gọi là "Adobe Reader" chứ không phải "Adobe Acrobat Reader" ngày nay.
e100

Tôi nghĩ đó là Acrobat X hoặc AcrobatZ hoặc một cái gì đó :)
horatio

1
Nó luôn luôn khó hiểu. Đó là Adobe Reader X, Adobe Acrobat X, Adobe Acrobat X Pro. Điều thực sự làm tôi khó chịu là khi mọi người nhắc đến "Adobe" khi họ có nghĩa là một ứng dụng duy nhất.
e100
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.