Câu trả lời chính
Vì tôi quan tâm đến cùng một loại công việc (mặc dù không nhất thiết phải OCR các tệp PDF, nhưng để chuyển đổi chúng thành DjVu và sau đó là OCR chúng), tôi đã tìm thấy câu hỏi này và các câu trả lời thiếu (vì tôi cần đoán DPI của hình ảnh có số lượng pixel và sau đó sử dụng kích thước làm đầu ra bằng pdfinfo
hoặc các thủ thuật khác --- không đề cập đến việc hình ảnh bên trong PDF có thể có mật độ khác nhau, v.v.).
Sau rất nhiều nghiên cứu, tôi thấy rằng bạn có thể sử dụng pdfimages
(từ gói poppler-utils ) như sau:
$ pdfimages -list deptest.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 100 100 gray 1 1 image no 9 0 53 53 169B 14%
2 1 image 100 100 gray 1 1 ccitt no [inline] 53 53 698B 56%
Lưu ý x-ppi
và y-ppi
tại danh sách trên. Nó cũng liệt kê định dạng mà hình ảnh được lưu trữ trong PDF, rất tuyệt (đôi khi, đó là JBIG2, đôi khi là JPEG2000, v.v.)
Lưu ý: Tệp deptest.pdf
được sử dụng ở trên có sẵn từ pdfsizeopt
kho của .
Hành động thực sự
Sau đó, bạn có thể chỉ cần trích xuất hình ảnh bằng pdfimages
chính nó hoặc sử dụng pdftoppm
(cũng từ poppler-utils
) để hiển thị toàn bộ trang theo nhiều định dạng mà bạn có thể thích (ví dụ: tiff, để quét với tesseract
).
Bạn có thể sử dụng một cái gì đó như sau (giả sử bạn đã tạo một thư mục có tên imgs
nơi bạn sẽ đặt hình ảnh của mình):
pdfimages -png Faraway-PRA.pdf imgs/prefix
Các tệp sẽ được tạo bên trong thư mục imgs
có tên bắt đầu bằng prefix
, như trong:
$ ls
prefix-000.png prefix-047.png prefix-094.png prefix-141.png
prefix-001.png prefix-048.png prefix-095.png prefix-142.png
prefix-002.png prefix-049.png prefix-096.png prefix-143.png
prefix-003.png prefix-050.png prefix-097.png prefix-144.png
(...)
Sau đó, bạn có thể thực hiện bất kỳ phẫu thuật nào mà bạn thấy phù hợp với các công cụ như scantailor
hoặc bất cứ điều gì bạn thích.
Thêm câu trả lời trực tiếp
Nếu bạn chỉ muốn OCR một tệp PDF, bạn có thể sử dụng một chương trình được duy trì tốt và đã được đóng gói, cụ thể là ocrmypdf .
x-ppi
(độ phân giải x trong DPI) vày-ppi
(độ phân giải y trong DPI) KHÔNG được hiển thị trên các phiên bản cũ hơnpdfimages
đi kèm với Ubuntu 14.04. Những gì có sẵn trên Ubuntu 18.04, tuy nhiên, không bao gồm các giá trị này.pdfimages -v
trên Ubuntu 18,04 chương trình máy của tôi, tôi có phiên bản 0.62.0, mà không có các tính năng này.