Главный ответ
Поскольку меня интересует такая же работа (хотя и не обязательно для распознавания PDF-файлов, но для преобразования их в DjVu, а затем для распознавания), я обнаружил, что этот вопрос отсутствует, и ответы отсутствуют (поскольку мне нужно было угадать DPI изображения с количеством пикселей, а затем использовать размер в качестве выходных данных pdfinfo
или других приемов - не говоря уже о том, что изображения в PDF могут иметь различную плотность и т. д.).
После долгих исследований я обнаружил, что вы можете использовать pdfimages
(из пакета poppler-utils ), например, следующее:
$ 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%
Обратите внимание на x-ppi
и y-ppi
в списке выше. Он также перечисляет формат, в котором изображения хранятся в PDF, что круто (иногда это JBIG2, иногда JPEG2000 и т. Д.)
Примечание: файл, deptest.pdf
использованный выше, доступен из pdfsizeopt
репозитория .
Реальное действие
После этого вы можете просто извлечь изображения pdfimages
самостоятельно или использовать pdftoppm
(также из poppler-utils
) для отображения целых страниц во многих форматах, которые вам могут понравиться (например, TIFF, для сканирования с помощью tesseract
).
Вы можете использовать что-то вроде следующего (при условии, что вы создали каталог с именем, imgs
куда вы положите свои изображения):
pdfimages -png Faraway-PRA.pdf imgs/prefix
Файлы будут созданы внутри каталога imgs
с именами, начинающимися с prefix
:
$ 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
(...)
Затем вы можете выполнить любую операцию, которую сочтете нужной, с помощью инструментов, которые scantailor
вам понравятся.
Более прямой ответ
Если вы просто хотите, чтобы OCR PDF-файл, вы можете использовать программу, которая хорошо поддерживается и уже упакованы, а именно ocrmypdf .
x-ppi
(разрешение x в DPI) иy-ppi
(разрешение y в DPI) НЕ показаны в более старых версияхpdfimages
, например, в Ubuntu 14.04. Однако то, что доступно в Ubuntu 18.04, включает эти значения.pdfimages -v
на моем Ubuntu 18.04 машины шоу у меня есть версия 0.62.0, которая делает эти функции.