ImageMagick - Convertir PDF a PNG

ImageMagick - Convertir PDF a PNG

“Los PDF generalmente se usan mejor cuando desea enviar/imprimir documentos. Sin embargo, los PNG tienen más usos. En los sitios web, los dos formatos más utilizados son PNG y JPEG. Los archivos PNG también se conocen como archivos sin pérdidas, lo que significa que no importa cuánto los comprime, no perderán su resolución. Esto puede ser muy útil para algunos y en ciertos casos. En este tutorial, aprenderemos a convertir un PDF en un archivo PNG usando ImageMagick."

Instalar ImageMagick

Necesitaremos ImageMagick para esto, así que primero, instalarlo:

sudo apt-get install imageMagick

Problemas encontrados

En mi caso, cuando ingresé el código para convertir un PDF en un PNG, recibí un error: no quería permitir la conversión.

Para corregir este error, necesitamos modificar algunas cosas.

Verifique si tiene GhostScript:

GS -Versión

Si obtiene una versión, busque en/etc/imagemagick-6/Policy.xml.

CD /ETC /ImageMagick-6
Sudo Nano Política.xml

En él, debes comentar lo siguiente:






En mi caso, acabo de agregar .

Luego guárdelo y salga.

PDF a PNG - La forma más simple

Así que intentemos convertir nuestro primer PDF en un PNG:

Convertir Linuxhint.PDF -Densidad 300 -DEPTH 8 -QUALIDAD 85 -COLORSPACE RGB LINUXHINT1.png

La salida es la siguiente:

Así que examinemos el código que acabamos de escribir:

Linuxhint.PDF: el archivo PDF de entrada.

-Densidad: la densidad define la resolución de la imagen; Está en DPI (puntos por pulgada). Por defecto, este valor se establece en 72 DPI.

-Profundidad: define la profundidad de la imagen.

-Calidad: este es el valor de compresión JPEG/MIFF/PNG. Un valor de calidad de 1 significa que la compresión está en su punto más alto y la calidad de la imagen está en su punto más bajo; Si, por otro lado, la calidad es 100, significa que la compresión está en su punto más bajo, pero la calidad de la imagen está en su punto más alto.

-ColorSpace: se usa para configurar el espacio de colores de la imagen

Linuxhint1.PNG: el nombre de archivo PNG de salida

Pero no me gusta la calidad que se extendió. Si tuviera que acercarme a la primera página del PNG que arrojaba, así es como se vería:

Esto (este último) es malo en términos de calidad, así que intentemos nuevamente, pero esta vez mejorando la calidad. La calidad que usa el método anterior puede volverse muy, muy horrible en algunos casos.

La calidad original del archivo PDF fue la siguiente, por lo que esto es lo que estamos tratando de replicar:

Mejorando la calidad

Así que ahora, intentemos mejorar la calidad de la salida:

Convertir -unidades Pixelsperinch -Densidad 288 Linuxhint.PDF -RESERCAR el 25% de salida.png

Ahora vamos a acercar a la primera página (página 1), y esto es ahora lo que obtenemos:

Esto es mucho mejor en términos de calidad.

En este caso:

-Unidades: Unidades para la resolución de la imagen. Sus opciones son: Undefined, PixelSperinch o Pixelspercentimeter.

-Densidad: Aquí, es el DPI que está en 72 por defecto (es decir, si no especifica un número). Así que estamos aumentando la densidad en un factor de 4.

Linuxhint.PDF: este es su archivo de entrada. Este es el PDF original que estamos tratando de convertir en un PNG.

-Cambiar el tamaño: dado que reemplazamos la página, ahora tenemos que recuperarla a un número razonable. Así que lo atenamos cambiando al 25% de su tamaño original.

producción.PNG: Este es el nombre de su salida.

Para comprender lo que acabamos de hacer, eche un vistazo al siguiente código:

Cuando uso el siguiente código:

Convertir -unidades Pixelsperinch -Densidad 288 Linuxhint.PDF de gran tamaño.png

Recibo una salida con una resolución de 2381 × 3368.

Cuando, por otro lado, uso el siguiente código (la única diferencia es que ha sido redimensionada):

Convertir -unidades Pixelsperinch -Densidad 288 Linuxhint.PDF -RESERCAR el 25% de salida.png

La resolución del PNG es ahora 595 × 842.

Si quieres superarlo y mantenerlo así, depende de ti, pero el punto es que puedes cambiarlo si quieres.

Selección de páginas

El PDF que creé al azar era solo por diversión y consistía en 2 páginas, pero en la vida real, este no sería el caso. Quiero decir, he visto PDF con cientos de páginas. Entonces que haces? ¿Qué puedes hacer si solo quieres las páginas 50-51 de un documento de 100 páginas??

Así que comencemos a seleccionar páginas. Dado que mi documento PDF tiene solo 2 páginas, voy a seleccionar la página 2 y la única página 2. Básicamente, incluso si tengo un documento que tiene dos páginas, puedo elegir convertir solo la página 2 en un PNG.

Ahora, tenemos que recordar que al codificar, casi todo comienza con un 0, por lo que la página 1 está indexada por 0, y la página 2 está indexada por 1.

Para seleccionar una página específica, coloque el número de página entre paréntesis ([]) después del nombre del archivo original que está intentando convertir.

Convertir -unidades Pixelsperinch -Densidad 288 Linuxhint.PDF [1] -RESIZA el 25% de salida.png

Este último seleccionará solo la página 2 (indexada por 1 - matemáticas.PDF [1]) y no tocará las otras páginas.

Si, por otro lado, supongamos que su documento tenía 10 páginas y que quería páginas 5-8, escribiría lo siguiente:

convertir -unidades pixelsperinch -densidad 288 matemáticas.PDF [4-7] -RESIZA el 25% de salida.png

Conclusión

PNG es un formato que se usa ampliamente. Usando ImageMagick, puede convertir incluso PDF a PNGS. En realidad es bastante simple; Solo tienes que recordar que realmente necesitas usar el interruptor de densidad. Sin embargo, el problema con los comandos típicos es la calidad de la imagen. A veces, puede ser horrible: la calidad del archivo PNG de salida! Para mejorar la calidad de la imagen salida, lo que puede hacer es definir el interruptor de las unidades y el tamaño de la imagen. Este último seguro producirá archivos PNG de gran calidad fuera de los archivos PDF! Sin embargo, si después de eso quieres o necesitas un tamaño razonable, entonces encúchelo. Pero solo recuerda sumarlo primero! Bastante simple, correcto?

Codificación feliz!