![Каково разрешение отсканированного PDF-файла?](https://rvso.com/image/1419615/%D0%9A%D0%B0%D0%BA%D0%BE%D0%B2%D0%BE%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D1%82%D1%81%D0%BA%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20PDF-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%3F.png)
Я отсканировал несколько документов с помощью сканера Canon, указав разрешение 300.
Я сохранил его в файл PDF. Затем я проверил разрешение файла PDF с помощью ImageMagick.
identify -verbose my.pdf
В возвращаемом выводе для каждой страницы говорится:
Resolution: 72x72
что не 300, как я указал ранее со сканером. Почему это отличается? Примечание: та же проблема, если я сохранил его как файл jpg, и если я использую Xerox workCenter.
Когда я использую Adobe Premium Pro для OCR моего файла PDF, он позволяет мне указать, до какого разрешения он будет понижать разрешение файла PDF из нескольких вариантов (72, 300, 600). Если я не хочу, чтобы OCRed файл PDF имел меньшее разрешение, чем исходный файл PDF, как мне узнать разрешение файла PDF и какой вариант разрешения мне выбрать для OCR в Adobe Premium Pro?
Спасибо.
решение1
PDF — это векторный графический документ. Может быть отображен в любом разрешении.
Растровое изображение, встроенное в документ PDF (как это обычно бывает с базовым отсканированным документом), обычно имеет разрешение (сколько пикселей в дюйме документа при печати на бумаге). Один такой документ PDF может иметь несколько таких изображений (будет иметь, если это многостраничный документ), возможно, с разным разрешением и ориентацией.
Это не то, что identify -v
сообщает ImageMagick. Это разрешение 72dpi, которое он использует для преобразования PDF в растровое изображение, чтобы предоставить информацию о пикселях.
Вы заметите, что он действительно работает: gs ... -r72x72 ...
для этого.
pdfimages
может предоставить отчет обо всех растровых изображениях в документе PDF:
$ pdfimages -list scan.pdf
page num type width height color comp bpc enc interp object ID
---------------------------------------------------------------------
1 0 image 1219 1707 rgb 3 8 jpeg no 8 0
$ qpdf --show-pages --with-images scan.pdf
page 1: 3 0 R
images:
/Im0: 8 0 R, 1219 x 1707
content:
4 0 R
Это даст вам размер в пикселях, но не размер (в пикселях mm
или inch
) поля, в котором будет напечатано изображение, поэтому вы не получите из этого разрешение.
Однако из идентификатора объекта ( 8 0
выше) можно узнать размер контейнера:
$ mutool show scan.pdf grep | grep 'Im0 8 0'
scan.pdf:3: <</Contents 4 0 R/CropBox[0 0 595 842]/MediaBox[0 0 595 842]/Parent 2 0 R/Resources<</XObject<</Im0 8 0 R>>/ProcSet 6 0 R>>/Thumb 11 0 R/Type/Page>>
Итак, здесь мы знаем, что изображение визуализируется с разрешением 595x842 точек (точка равна 1/72 дюйма).
Итак, мы можем вывести разрешение x и y:
$ echo "$((1219 * 72 / 595))dpi" "$((1707 * 72 / 842))dpi"
147dpi 145dpi
Обратите внимание, что при внедрении в формате JPG изображения могут иметь заголовок EXIF, в котором указано разрешение.
Вы можете извлечь изображения, чтобы узнать это:
$ exiftool -XResolution -YResolution <(qpdf --show-object=8 --raw-stream-data scan.pdf)
X Resolution : 72
Y Resolution : 72
Но здесь они не совпадают.
Вы также можете извлечь изображения и pdfimages
передать их в OCR, чтобы ему не приходилось выбирать разрешение перед преобразованием в растровое изображение.