![¿Cuál es la resolución de un archivo pdf escaneado?](https://rvso.com/image/1419615/%C2%BFCu%C3%A1l%20es%20la%20resoluci%C3%B3n%20de%20un%20archivo%20pdf%20escaneado%3F.png)
Escaneé algunos documentos con un escáner Canon, con una resolución especificada de 300.
Lo guardé en un archivo pdf. Luego verifiqué la resolución del archivo pdf, por ImageMagick
identify -verbose my.pdf
En el resultado regresa, para cada página dice
Resolution: 72x72
que no es 300 que especifiqué anteriormente con el escáner. ¿Por qué es diferente? Nota: El mismo problema si lo guardé como un archivo jpg y si uso un Xerox workCenter.
Cuando uso Adobe Premium Pro para realizar OCR en mi archivo pdf, me permite especificar a qué resolución reducirá la resolución del archivo pdf entre varias opciones (72, 300, 600). Si no quiero que el archivo PDF con OCR tenga menos resolución que el archivo PDF original, ¿cómo puedo saber la resolución del archivo PDF y qué opción de resolución debo elegir para OCR en Adobe Premium Pro?
Gracias.
Respuesta1
PDF es un documento de gráficos vectoriales. Se puede renderizar en cualquier resolución.
Una imagen rasterizada incrustada en un documento PDF (como es típico de un documento escaneado básico) normalmente tendrá una resolución (cuántos píxeles hay en una pulgada del documento cuando se imprime en papel). Uno de esos documentos PDF puede tener varias de esas imágenes (las tendrá si es un documento de varias páginas) posiblemente con diferentes resoluciones y orientaciones.
Eso no es lo que informa ImageMagick identify -v
. Esos 72 ppp es la resolución que utiliza para convertir el PDF en una imagen rasterizada para informar información de píxeles en él.
Notarás que realmente se ejecuta: gs ... -r72x72 ...
para eso.
pdfimages
Puede informar todas las imágenes rasterizadas en un documento 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
Eso le da el tamaño en píxeles, pero no el tamaño (en mm
o inch
) del cuadro en el que se imprimiría la imagen, por lo que no obtendrá la resolución de eso.
Sin embargo, a partir del ID del objeto ( 8 0
arriba), puede averiguar la dimensión del contenedor:
$ 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>>
Entonces, aquí sabemos que la imagen se representa en 595x842 pt (un punto es 1/72 de pulgada).
Entonces podemos derivar la resolución xey:
$ echo "$((1219 * 72 / 595))dpi" "$((1707 * 72 / 842))dpi"
147dpi 145dpi
Tenga en cuenta que cuando se incrustan como JPG, las imágenes pueden tener un encabezado EXIF que especifica la resolución.
Puedes extraer las imágenes para descubrirlo:
$ exiftool -XResolution -YResolution <(qpdf --show-object=8 --raw-stream-data scan.pdf)
X Resolution : 72
Y Resolution : 72
Aunque aquí no coinciden.
También puede extraer las imágenes y pdfimages
pasarlas a su OCR para que no tenga que decidir una resolución antes de convertirse en una imagen rasterizada.