How to Extract Embedded Images from a PDF File in Ubuntu using PDFImages

Extraiga imágenes incrustadas de un archivo PDF en Ubuntu

Si bien ya sabemos cómo editar archivos PDF existentes en Ubuntu, hay ocasiones en las que el requisito es utilizar todas o algunas de las imágenes contenidas en un archivo PDF. Copiar y pegar manualmente es definitivamente una opción, pero no ahorra tiempo, especialmente cuando el archivo PDF contiene una gran cantidad de imágenes.

Existe una herramienta, denominada PDFImágenes, que hace que la extracción de imágenes de archivos PDF sea pan comido. En este artículo discutiremos esta herramienta usando ejemplos fáciles de entender. Tenga en cuenta que todos los ejemplos utilizados en el artículo se prueban en Ubuntu 14.04 LTS con la versión 0.24.5 de la herramienta.

¿Qué es PDFImages?

Como ya se mencionó, PDFImages es una herramienta de línea de comandos que puede usar para extraer imágenes de un archivo PDF. La página de manual de la herramienta dice que lee el archivo PDF de entrada, lo escanea y produce un archivo Portable Pixmap (PPM), Portable Pixmap (PBM) o JPEG para cada imagen que encuentra en el archivo PDF.

Descargar e instalar

Si la herramienta aún no está instalada en su caja de Ubuntu, puede descargarla e instalarla usando el siguiente comando:

sudo apt-get install poppler-utils

Además de PDFImages, el paquete “poppler-utils” también contiene varias otras utilidades de línea de comandos para obtener información de documentos PDF, convertirlos a otros formatos o manipularlos.

Uso

La herramienta de línea de comandos PDFImages, en su forma más básica, requiere dos argumentos: el archivo PDF de entrada y la ruta al directorio en el que desea que la herramienta guarde las imágenes. Por ejemplo, en mi caso intenté extraer imágenes de un archivo PDF llamado «christmas_story.pdf» y guardarlas en un directorio llamado «pdfimages».

pdfimages /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/

El comando anterior produjo los siguientes archivos en el directorio de destino:

ls /home/himanshu/Downloads/pdfimages/
-000.ppm  -001.ppm  -002.ppm  -003.ppm  -004.ppm  -005.ppm  -006.ppm  -007.ppm

Como puede ver en el resultado anterior, el nombre de los archivos comienza con un guión (-) seguido de un número. Para aquellos que se preguntan por qué el nombre comienza con un guión, la herramienta les brinda la flexibilidad de agregar un prefijo a cualquier palabra antes del guión para que puedan crear nombres personalizados para las imágenes de salida. Puede hacer esto agregando esa palabra en particular a la ruta del directorio de destino mientras ejecuta el comando.

Por ejemplo, agregué la palabra «imagen» a la ruta del directorio de destino:

pdfimages /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/image

Y los archivos de salida producidos en este caso llevaban el siguiente nombre:

ls /home/himanshu/Downloads/pdfimages/
image-000.ppm  image-001.ppm  image-002.ppm  image-003.ppm  image-004.ppm  image-005.ppm  image-006.ppm  image-007.ppm

Vale la pena mencionar que, contrariamente a lo que dice la página de manual de la herramienta, se producen dos imágenes para cada imagen en el archivo PDF, de las cuales una está en blanco mientras que la otra es utilizable. En mi caso, las imágenes impares estaban en blanco:

pdfimages-salida

Continuando, también puede cambiar el formato del archivo de imagen de salida de «ppm» a «jpeg», lo que puede hacer usando el -j opción. Tenga en cuenta, sin embargo, que con esta opción, solo las imágenes en formato DCT se guardan como archivos JPEG; todas las imágenes que no son DCT se guardan en formato PBM/PPM como de costumbre.

También puede especificar qué páginas desea que escanee la herramienta. De esta forma, solo obtendrá las imágenes de salida que se encuentran en estas páginas. Para habilitar esta opción, debe utilizar el -f opción (seguida del número de página) y -l (seguido del número de página) para especificar las páginas de inicio y fin respectivamente.

Por ejemplo, quería que la herramienta solo extrajera las imágenes presentes en la primera página del archivo PDF, así que usé el siguiente comando:

pdfimages -f 1 -l 1 /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/

Y en el directorio de destino, solo se produjeron dos imágenes (un total de cuatro, incluidas las en blanco):

ls /home/himanshu/Downloads/pdfimages/
-000.ppm  -001.ppm  -002.ppm  -003.ppm

Conclusión

PDFImages es definitivamente una herramienta útil si su trabajo implica manejar archivos PDF y las imágenes que contienen, y como ya habrá observado, es fácil de aprender y fácil de usar. Para obtener más información sobre la herramienta, diríjase a su página man.

Experto Geek - Tu Guía en Tendencias Tecnológicas