jueves, 9 de julio de 2020

Error en 'convert' de ImageMagick

Ya he dicho, más de una vez, y la ultima, hace muy poco, aquí, que me encanta la herramienta ImageMagick y que, aunque no llego a dominarla, la utilizo para diversas operaciones con imágenes. Y, muy particularmente, usando el comando ‘convert’ para convertir imágenes a PDF, o viceversa.
Pero últimamente, al hacer el famoso mandato de, por ejemplo... ‘convert archivo.jpg archivo.pdf’, veo que me salta un error que dice algo así como esto:
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408
y, no me deja crear el archivo PDF. Así que habrá que dar alguna solución al tema, que me es muy útil e interesa que funcione...

Bien, parece claro que los protocolos (política) de seguridad de ImageMagick (o de Adobe, que supongo que es quien está detrás del formato PDF) han detectado algún problema, y no permiten convertir imágenes a PDF (y viceversa). 
Yo, que como dice la histórica frase, ‘ni quito ni pongo Rey, pero ayudo a mi Señor’, no me voy a poner conspiranoico para las cuatro cositas que hago, para mi uso personal, con ImageMagick, así que, como además tampoco se ha informado mucho (que yo sepa) sobre ese fallo de seguridad (y pienso que si fuese grave se habría publicitado convenientemente… y leo mucho Blog sobre Linux)… decidí hacer caso omiso a esa advertencia y buscar una solución a este problema (que creo que se me presentó al actualizar ImageMagick). Y la encontré buceando por Google.
Y la solución es bastante sencilla:
Hay que ir (en mi caso, en mi Debian actual) al archivo /etc/ImageMagick-6/policy.xml y editarlo, por ejemplo con... 
sudo nano /etc/ImageMagick-6/policy.xml
y editado, yendo casi al final del archivo, en la línea que pone
<policy domain="coder" rights="none" pattern="PDF" />
sustituir “none” por “read|write”, para que quede así... 
<policy domain="coder" rights="read|write" pattern="PDF" /> 
Se cierra nano, aceptando los cambios, con Ctrl+X… y ya está.
(NOTA: he visto que también aparece un mensaje de error
convert-im6.q16: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `prueba1.png' @ warning/png.c/MagickPNGWarningHandler/1667
cuando quiero convertir a PDF una imagen en blanco y negro… pero como, a pesar de ello, me la convierte perfectamente, no le hago caso).

En resumen: solucionada ‘la avería’… aunque habrá que estar atento a las informaciones que salgan sobre estos mensajes de denegación de ordenes por la políticas de seguridad.
Nota final: efectivamente, leo, en una reciente página de Adobe, que hay una ‘Configuración de seguridad mejorada para archivos PDF’ porque…
"Los archivos PDF han evolucionado de páginas estáticas a documentos complejos con características como los formularios interactivos, contenidos multimedia, creación de secuencias de comandos y otras funciones. Estas funciones hacen que los documentos PDF sean vulnerables a secuencias de comandos o acciones malintencionadas con intención de dañar el equipo o robar datos. ‘Seguridad Mejorada’ le permite proteger el equipo frente a estas amenazas al bloquear o permitir de manera selectiva acciones para ubicaciones y archivos de confianza". 
Vale, pues enterado...

No hay comentarios:

Publicar un comentario