Convierta PDF a imágenes desde la línea de comandos de Linux

Contenidos

La conversión de un archivo PDF a una imagen se puede hacer fácilmente en la línea de comandos de Linux usando un solo comando. Descubra cómo instalar la utilidad, cómo usarla y cómo automatizar su configuración.

Que es poppler-utils ?

Como se mencionó en la introducción de este post, necesitamos instalar un pequeño conjunto de utilidades llamado poppler-utils para ayudarnos a convertir archivos PDF en imágenes.

El conjunto de utilidades poppler-utils nos posibilita convertir imágenes a PDF y PDF a imágenes.

Instalando poppler-utils

instalar poppler-utils

Instalar poppler-utils en su distribución de Linux basada en Debian / Apt (como Ubuntu y Mint), haga:

sudo apt install poppler-utils

Instalar poppler-utils en su distribución de Linux basada en RedHat / Yum (como RedHat y Fedora), haga lo siguiente:

sudo yum install poppler-utils

Conversión de PDF a imágenes

El comando requerido es simple y directo:

pdftoppm -png test.pdf test

Con el pdftoppm comando podemos convertir PDF a imágenes. Especificamos que queremos un archivo PNG para el formato de salida (usando -png) y que nuestro archivo de entrada es test.pdf.

El archivo de salida que especificamos como test. pdftoppm agregará automáticamente un sufijo de número de página (como -1) y una extensión (basada en la anterior -png opción aprobada).

Por tanto, el nombre del archivo de salida será test-1.png, como podemos verificar a continuación:

ls test-1.png
eog test-1.png 

pdftoppm convertir un archivo pdf a una imagen en la línea de comandos de Linux

Cualquier página subsiguiente sería prueba-2.png etc. El eog comando (si eog está instalado) abrirá el archivo para que pueda revisar el resultado, aún cuando puede utilizar cualquier otro programa de manejo de imágenes que desee.

Procesamiento por lotes de archivos PDF a imágenes

Podemos crear un comando de una sola línea para procesar por lotes todos los archivos PDF con un nombre dado a las imágenes. Entonces podríamos simplemente agregar esta línea a un pequeño script .sh y automatizarlo aún más, o simplemente podemos usarlo en la línea de comando siempre que necesitemos convertir una gran cantidad de archivos PDF en imágenes.

ls --color=never test*.pdf | sed 's|.pdf||' | xargs -I{} pdftoppm {}.pdf -png {}

En este comando, primero obtenemos una lista de directorios para todos los archivos PDF que disponen un nombre que comienza con prueba y termina con .pdf, usando el ls --color=never test*.pdf.

los --color=never es esencial, dado que los símbolos de codificación de colores de la carcasa (si están activos, dado que están por defecto) a veces pueden confundir xargs.

A continuación usamos un simple sed comando sustituto para reemplazar un punto literal seguido de pdf por nada. Dicho de otra forma, eliminamos el .pdf extensión de archivo.

Esto nos da la ventaja de volver a agregarlo más tarde solo cuando sea necesario, dicho de otra forma, al especificar el archivo de entrada para pdftoppm, pero no al especificar el archivo de salida para el mismo pdftoppm comando, muy parecido a nuestro ejemplo anterior anterior.

Para terminar, usamos xargs para enviar cada nombre de archivo pdf (menos el .pdf) para pdftoppm uno a uno. Usamos el -I opción a xargs que nos posibilita especificar cualquier entrada recibida (dicho de otra forma, los nombres de archivo pdf abreviados) simplemente usando {} en el comando que sigue.

Como puede ver, nuestro pdftoppm El comando ahora se parece mucho al primer ejemplo, con cada nombre de archivo PDF individual como entrada (con el sufijo nuevo .pdf), y como salida el nombre del archivo pdf sin .pdf.

Ejecutémoslo:

Automatin de pdftoppm convirtiendo múltiples archivos pdf a imágenes

Esto funcionó bien: los tres archivos PDF, todos con una página cada uno, se convirtieron en tres .png archivos (una imagen por página y para este caso por PDF dado que cada PDF tenía solo una página), todos con el nombre y el sufijo correctos.

Como alternativa al -png opción, además se puede usar -jpeg para generar archivos JPEG en su lugar. Utilizar pdftoppm --help o man pdftoppm para ver una lista completa de alternativas.

Terminando

En este post vimos lo fácil y sencillo que puede ser convertir archivos PDF en archivos de imagen, ¡y eso de forma directa desde la línea de comandos de Linux! Además buscamos una forma simple de automatizar este procedimiento. ¡Disfrutar!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.