Tìm độ phân giải hình ảnh trong tập tin PDF?


15

Tôi có một vấn đề là có một số người dùng tạo các tệp PDF rất lớn. Mặt khác, tôi có PDF được gửi từ các máy fax của chúng tôi có kích thước rất nhỏ và hoàn toàn có thể in được. Câu hỏi của tôi là

  • Có cách nào tôi có thể tìm thấy độ phân giải (DPI) của PDF không. Tôi tìm kiếm trên internet, không thể tìm thấy bất kỳ câu trả lời. Đã kiểm tra các thuộc tính của tệp, thông tin này không được lưu trữ ở đó, ít nhất là trong trường hợp của tôi.
  • Độ phân giải tối ưu của chuyển đổi tệp văn bản thành hình ảnh PDF là gì. 96dpi, 300dpi trở lên?
  • Câu hỏi thú vị. Tôi có thể thay đổi kích thước tệp PDF được quét với dpi cao thành dpi nhỏ hơn không?

Tôi biết một số câu trả lời có thể không có sẵn vì tôi đã tìm kiếm trên internet và không thể tìm thấy câu trả lời.

Lưu ý: PDF của tôi hoàn toàn là hình ảnh, văn bản thành hình ảnh. Tôi cũng quen thuộc với primoPDF (miễn phí) thứ mà bạn có thể thử nghiệm

Câu trả lời:


18

câu trả lời và bình luận của slhck xứng đáng được cập nhật: pdfimagesbây giờ (ít nhất là từ phiên bản 0.26.5) liệt kê rõ ràng x-ppiy-ppi. Đây là một đầu ra mẫu:

$ pdfimages -list example.pdf 
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    2244  2244  cmyk    4   8  image  no       215  0   301   301  418K 2.1%
   2     1 image     900   600  rgb     3   8  image  no       324  0  1524  1525 35.5K 2.2%

Trên Debian (Wheezy) và Fedora (23), pdfimageslà một phần của poppler-utilscác gói.


Của tôi hoàn toàn trống rỗng
theonlygusti

8

Tôi biết rằng bạn không muốn trích xuất dữ liệu hình ảnh, nhưng đây có lẽ là cách duy nhất để tìm ra độ phân giải gốc.


Trên * nix, nếu bạn đã cài đặt ImageMagick's identifyXpdf 1 :

pdfimages -j test.pdf test && for file in $(find . -name "test*.jpg"); do identify "$file"; done

test.pdfPDF đầu vào của bạn ở đâu . Các tập tin đầu ra được ghi vào test-000.jpg, test-001.jpg, vân vân. Điều này sẽ cung cấp cho bạn kích thước ban đầu của tất cả các hình ảnh có trong tệp PDF 2 đó .

Ví dụ đầu ra cho tệp PDF chỉ chứa một hình ảnh lớn:

./test-000.jpg JPEG 2500x1961 2500x1961+0+0 8-bit DirectClass 1.022MB 0.000u 0:00.000

1) Windows cũng có những thứ này, nhưng dĩ nhiên kịch bản sẽ khác.
2) Lưu ý rằng hình ảnh không thực sự mang thông tin DPI. Nói một cách đơn giản: Đó chỉ là thứ được sử dụng để in và hình ảnh không cần một biện pháp DPI vốn có.


Độ phân giải tối ưu của chuyển đổi tệp văn bản thành hình ảnh PDF là gì. 96dpi, 300dpi trở lên?

Nói chung, bất cứ điều gì bạn muốn in nên từ 300dpi trở lên. Hầu hết các máy in cũng sẽ xử lý độ phân giải cao hơn.


2
Một phiên bản pdfimages (có lẽ gần đây hơn câu hỏi ban đầu) từ dự án poppler thêm tùy chọn -list : pdfimages -list test.pdf. Thay vì xuất ra các tệp, danh sách này liệt kê kích thước và loại hình ảnh. Vẫn không cung cấp cho bạn độ phân giải rõ ràng, nhưng tránh tạo các tệp đầu ra.
kiểm tra

1
@scruss Kể từ phiên bản 0.34.0, pdfimages -listcung cấp rõ ràng x-ppiy-ppi, cũng như nhiều thông tin khác.
Skippy le Grand Gourou

Thật vậy, bây giờ, @SkippyleGrandGourou: khoảng năm năm sau khi câu hỏi được hỏi. Mặc dù vậy, pdfimages vẫn không áp dụng độ phân giải / kích thước cho hình ảnh mà nó trích xuất.
xem xét

@scruss Trên thực tế, có vẻ như độ phân giải được cung cấp pdfimagescó thể khá tắt (ví dụ: khi hình ảnh lớn hơn vùng nhìn thấy của nó, trong một tệp PDF được tạo bởi scribus). (Thật không may, tôi thực sự không có thời gian để báo cáo lỗi ngay bây giờ.)
Skippy le Grand Gourou

4

Vì một số lý do, phiên bản pdf mới nhất mà tôi có thể nâng cấp trong CentOS của mình là phiên bản 3.04.

Vì vậy, tôi không có tùy chọn danh sách như đã nêu trong các câu trả lời trước. Tuy nhiên, hình ảnh thử nghiệm được tạo từ pdfimages dựa trên câu trả lời của slhck chứa câu trả lời mong muốn!

xác định -verbose test-0000.jpg | hơn

Image: test-0000.jpg  
Format: JPEG (Joint Photographic Experts Group JFIF format)  
Mime type: image/jpeg  
Class: DirectClass  
Geometry: 6600x5100+0+0  
Resolution: 600x600  
Print size: 11x8.5

Vì vậy, dpi được hiển thị rõ ràng trên dòng thứ 6 bằng cách sử dụng tùy chọn -verbose trong lệnh xác định.

Vì vậy, câu trả lời của slhck có thể được sửa đổi như sau.

pdfimages -j test.pdf test && cho tệp bằng $ (tìm. -name "test * .jpg"); xác định -verbose "$ file" | awk 'NR == 6'; làm xong

Một lưu ý khác, tôi đã thử chạy

xác định -verbose test.pdf

Format: PDF (Portable Document Format)  
Mime type: application/pdf  
Class: DirectClass  
Geometry: 792x612+0+0  
Resolution: 72x72  
Print size: 11x8.5  

Có vẻ như Imagemagick luôn giả định 72dpi và vì vậy thông tin được in ở đây dường như không chính xác.


1

Một tệp PDF không có độ phân giải vốn có, mỗi hình ảnh raster bên trong nó (nếu có) sẽ có độ phân giải riêng. Tôi không biết một cách đơn giản để trích xuất một số duy nhất cho độ phân giải trung bình / phương thức của XObjects hình ảnh nhúng.


Bằng cách này, tôi không quan tâm đến việc trích xuất dữ liệu hình ảnh từ pdf, tôi chỉ muốn biết độ phân giải quét là gì và nếu nó rất cao không cần thiết sẽ tránh điều đó trong tương lai.
hk_

@Dave: Thật ra tôi có nghĩa là trích xuất thông tin về các hình ảnh nhúng không trích xuất hình ảnh. Nhưng câu trả lời của slhck có thể giải quyết vấn đề của bạn.
RedGrittyBrick

1

Điều này hoạt động với pdf được tạo từ một mfp Kyocera ... Điều này có lẽ chỉ hợp lệ đối với các hình ảnh toàn trang như quét.

  1. Mở pdf w / Reader-
  2. Tệp> Thuộc tính - Tab mô tả - Kích thước trang. Ví dụ của tôi cho biết 8,5x11.0.

  3. Mở pdf bằng trình soạn thảo văn bản (notepad), tìm /width/height

  4. Lấy chiều cao và chiều rộng và chia chúng cho chiều cao và chiều rộng của trang (tính bằng inch)

Thí dụ:

5100/8.5=600
6600/11.0=600

PDF của tôi được quét ở độ phân giải 600x600.

Bạn có thể bỏ qua 2 bước đầu tiên nếu bạn biết kích thước tài liệu (thông thường A4 là 8,27x11,69).


0

Để trả lời điểm thứ hai của bạn, ngoài việc đề cập đến @slhck về máy in dpi, 300dpi cũng là số được đề xuất tối thiểu điển hình cho OCR với cỡ chữ 10 + pt.

Hơn nữa, màn hình máy tính xách tay 15 "4K hiện đại cũng chỉ có khoảng 280PPi, vì vậy nếu bạn muốn xem toàn bộ A4 trên màn hình (ngang) thì không có điểm quét nào cao hơn ~ 320 dpi, bởi vì bất kỳ tài liệu nào cao hơn sẽ Tất nhiên, điều này không thành vấn đề nếu bạn định phóng to, thì bạn có thể cần dpi cao hơn.

Để trả lời hai điểm khác của bạn, hiện tại ít nhất bạn có thể sử dụng Acrobat Pro để kiểm tra DPI hình ảnh và độ phân giải, và bạn cũng có thể chỉnh sửa nó.

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.