Respuesta principal
Como estoy interesado en el mismo tipo de trabajo (aunque no necesariamente para OCR los archivos PDF, pero para convertirlos a DjVu y luego OCR), encontré esta pregunta y las respuestas que faltan (ya que necesitaba adivinar el DPI del imágenes con el número de píxeles y luego usar el tamaño como resultado pdfinfo
u otros trucos --- sin mencionar que las imágenes dentro de un PDF pueden tener diferentes densidades, etc.).
Después de mucha investigación más, descubrí que puede usar pdfimages
(del paquete poppler-utils ) como lo siguiente:
$ 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%
Observe el x-ppi
y y-ppi
en la lista anterior. También enumera el formato en el que se almacenan las imágenes en el PDF, lo cual es genial (a veces, es JBIG2, a veces JPEG2000, etc.)
Nota: El archivo deptest.pdf
utilizado anteriormente está disponible en pdfsizeopt
el repositorio de .
La verdadera acción
Después de eso, simplemente puede extraer las imágenes consigo pdfimages
mismo o usar pdftoppm
(también desde poppler-utils
) para renderizar páginas enteras en muchos formatos que le gusten (por ejemplo, tiff, para escanear con tesseract
).
Puede usar algo como lo siguiente (suponiendo que haya creado un directorio llamado imgs
donde colocará sus imágenes):
pdfimages -png Faraway-PRA.pdf imgs/prefix
Los archivos se crearán dentro del directorio imgs
con nombres que comienzan con prefix
, como en:
$ 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
(...)
Luego, puede realizar cualquier cirugía que considere adecuada con herramientas como scantailor
o lo que quiera.
Respuesta más directa
Si solo desea OCR un archivo PDF, puede usar un programa que esté bien mantenido y que ya esté empaquetado, a saber, ocrmypdf .
x-ppi
(la resolución x en DPI) yy-ppi
(la resolución y en DPI) NO se muestran en las versiones anteriorespdfimages
que vienen con Ubuntu 14.04, por ejemplo. Lo que está disponible en Ubuntu 18.04, sin embargo, incluye estos valores.pdfimages -v
en mis Ubuntu 18.04 máquina espectáculos Tengo la versión 0.62.0, lo que hace que estas características.