Каково разрешение отсканированного PDF-файла?

Каково разрешение отсканированного PDF-файла?
  1. Я отсканировал несколько документов с помощью сканера Canon, указав разрешение 300.

    Я сохранил его в файл PDF. Затем я проверил разрешение файла PDF с помощью ImageMagick.

    identify -verbose my.pdf
    

    В возвращаемом выводе для каждой страницы говорится:

    Resolution: 72x72
    

    что не 300, как я указал ранее со сканером. Почему это отличается? Примечание: та же проблема, если я сохранил его как файл jpg, и если я использую Xerox workCenter.

  2. Когда я использую 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, чтобы ему не приходилось выбирать разрешение перед преобразованием в растровое изображение.

Связанный контент