Как программно определить DPI изображений в PDF файле?

У меня есть несколько PDF-файлов, которые я хочу разделить на файлы TIFF, используя convert (для распознавания через tesseract). Пока это работает отлично - за исключением того, что для автоматизации всего процесса мне нужно установить DPI для вывода convert. Прямо сейчас я использую команду, подобную этой:

convert -density 300 myFile.pdf -depth 8 -background white output-%04d.tiff

... которая выводит PDF-файлы с разрешением 300 DPI. Однако некоторые PDF-файлы имеют меньший DPI (например, 150 DPI), что означает, что я не хочу выводить их при 300 DPI через convert - это создает чрезмерно большие файлы TIFF без какой-либо дополнительной информации.

Я знаю, что есть способы проверить DPI изображений в PDF-файле, открыв Adobe Acrobat и возиться с инструментами «предпечатной проверки». Однако есть ли способ определить с помощью командной строки DPI определенного файла PDF?

12
задан 23 April 2016 в 06:33

3 ответа

Я использую следующую команду:

convert MyPDF.pdf -print "Size: %wx%h\n" /dev/null

и это возвращается:

Size: 380x380
0
ответ дан 23 April 2016 в 16:33
  • 1
    Именно это я также использую теперь, это стабильно с acpi=off и Nvidia 385 драйверов. Когда я включаю acpi, я заявил Ошибку в вопросе. – janeinvieleicht 15 September 2017 в 01:43

Я нуждался в этой информации и просто нашел его здесь:

http://www.wizards-toolkit.org/discourse-server/viewtopic.php?t=16110

Эта техника также использует ImageMagick:

identify -format "%w x %h %x x %y" DAT_1.tif

вывод является размером изображения и точек на дюйм:

2480 x 3507 300 x 300
0
ответ дан 23 April 2016 в 16:33
  • 1
    Я использую ядро 4.10.33 (последнее доступное склонное использование - добираются). – Dmitry 14 September 2017 в 11:50

Основной ответ

Так как я интересуюсь тем же видом задания (хотя не обязательно к OCR файлы PDF, но преобразовать их в DjVu и затем OCR их), я нашел этот вопрос и недостаток ответов (так как я должен был предположить 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.

7
ответ дан 17 April 2019 в 05:17

Другие вопросы по тегам:

Похожие вопросы: