Mi Blog

Patrocinador:

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

Cómo convertir ficheros PDF a imagen en GNU/Linux

Cómo convertir ficheros PDF a imagen en GNU/Linux

(Tiempo estimado: 5 - 9 minutos)

Convertir ficheros PDF a una imagen en GNU/Linux y desde consola es sumamente sencillo. Se pueden convertir ficheros completos, páginas individuales o rangos de páginas de forma sencilla y automática en scripts o tareas de forma autónoma. 

Seguid leyendo y os enseñaré a convertir uno o miles de PDFs a imagen de forma rápida y sencilla desde consola con cualquier distribución de GNU/Linux...

 

 

¿QUÉ SON IMAGEMAGICK Y PDFTOPPM?

ImageMagick es una suite de edición de imágenes en modo consola. Es decir, es un conjunto de comandos para trabajar con imágenes, con una serie de comandos que cada uno realiza una serie de procesos para cubrir todo el abanico de necesidades que un usuario pueda tener para cualquier actividad gráfica, tanto con mapa de bits como con vectores.

ImageMagick tiene una serie de características que le convierten en una herramienta muy útil para cualquier diseñador gráfico, fotógrafo o simplemente aficionados a la imagen, pero también para el trabajo con vídeo, ya que, en esencia, un vídeo no es más que una sucesión de imágenes.

Pdftoppm es una biblioteca que se encarga de la conversión de formato de documento portátil (PDF) para imágenes en color en formato Pixmap Portátil (PPM), archivos de imagen en escala de grises archivos Graymap portátiles (PGM) y archivos de imagen monocromo en formato Portable Bitmap (PBM) archivos.

 

 

Convertir PDFs a imagen en GNU/Linux desde consola es muy sencillo

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con GNU/Linux
  • Conexión a internet recomendado

 

 

2.- CONVERSIÓN DE PDF A IMAGEN CON IMAGEMAGICK

Lo primero que debemos hacer es instalar la aplicación ImageMagick. Si estamos utilizando una distribución basada en Debian ó Ubuntu, debemos ejecutar el siguiente comando:

raul@debian:~$ sudo apt-get install imagemagick

 

 

Una vez instalada, para convertir una única página de un PDF a imagen debemos ejecutar un comando como el siguiente, donde -density indica los dpi de la imagen resultante y -quality la calidad de la imagen:

raul@debian:~$ convert -density 300 sample-pdf-file.pdf -quality 90 sample_imagemagick.jpg

 

 

Para convertir un fichero PDF completo a imagen debemos ejecutar un comando como el siguiente, donde -density indica los dpi de la imagen resultante, -quality la calidad de la imagen y la página a convertir va entre [], en este caso la número 25  y sample-pdf-file.pdf es el fichero a convertir:

raul@debian:~$ convert -density 300 sample-pdf-file.pdf[25] -quality 90 sample_imagemagick.jpg

 

 

Para convertir un rango de páginas de un PDF imagen debemos ejecutar un comando como el siguiente, donde -density indica los dpi de la imagen resultante, -quality la calidad de la imagen y la página a convertir va entre [], en este caso desde la 2 a la 10  y sample-pdf-file.pdf es el fichero a convertir:

raul@debian:~$ convert -density 300 sample-pdf-file.pdf[2-10] -quality 90 sample_imagemagick.jpg

 

 

Para obtener todas las opciones de convert hay que ejecutar el comando:

raul@debian:~$ pdftoppm --help

3.- CONVERSIÓN DE PDF A IMAGEN CON PDFTOPPM

Lo primero que debemos hacer es instalar el paquete de aplicaciones poppler-utils. Si estamos utilizando una distribución basada en Debian ó Ubuntu, debemos ejecutar el siguiente comando:

raul@debian:~$ sudo apt-get install poppler-utils

 

 

Una vez instalada, para convertir un fichero PDF a imagen debemos ejecutar un comando como el siguiente, donde -r indica los dpi de la imagen resultante y sample-pdf-file.pdf es el fichero a convertir:

raul@debian:~$ pdftoppm -jpeg -r 300 sample-pdf-file.pdf sample_pdftoppm

 

 

Una vez instalada, para convertir una página de un fichero PDF a imagen debemos ejecutar un comando como el siguiente, donde -r indica los dpi de la imagen resultante, y -f <pagina> con el número de la página, en este caso la 15 y sample-pdf-file.pdf es el fichero a convertir:

raul@debian:~$ pdftoppm -jpeg -r 300 -f 15 sample-pdf-file.pdf sample_pdftoppm

 

 

Para convertir un rango de páginas de un PDF imagen debemos ejecutar un comando como el siguiente, donde -density indica los dpi de la imagen resultante, -quality la calidad de la imagen y las páginas a convertir van desde -f <primera> hasta -l <última>, en este caso desde la 2 a la 10  y sample-pdf-file.pdf es el fichero a convertir:

raul@debian:~$ pdftoppm -jpeg -r 300 -f 2 -l 10 sample-pdf-file.pdf sample_pdftoppm

 

 

Para obtener todas las opciones de pdftoppm hay que ejecutar el comando:

raul@debian:~$ pdftoppm --help

 

  

4.- PROBLEMAS CONOCIDOS DE SEGURIDAD

Por defecto, no es posible convertir ficheros PDF desde ImageMagick por política de seguridad. El error que se genera a la hora de convertir un fichero PDF es el siguiente:

raul@debian:~$ convert -density 300 sample-pdf-file.pdf -quality 90 sample_imagemagick.jpg
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert-im6.q16: no images defined `sample_imagemagick.jpg' @ error/convert.c/ConvertImageCommand/3258.

 

 

Para resolver este problema, hay que editar el fichero /etc/ImageMagick-6/policy.xml (para la versión 6) y añadir o editar la línea siguiente para que tenga este aspecto. Una vez hecho, ya funcionará la conversión de PDF con ImageMagick:

<policy domain="coder" rights="read | write" pattern="PDF" />

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar