Error al convertir jpg a pdf

57

Cada vez que quiero convertir un jpgarchivo pdfmediante este comando

convert *.jpg pictures.pdf

Tengo este mensaje de error:

convert: not authorized `pictures.pdf' @ error/constitute.c/WriteImage/1028.
Adon Naamán
fuente
1
convert * .jpg pictures.pdf sobrescribirá todos los archivos pdf como un archivo pictures.pdf?
Vijay
Esta solución de StackOverflow funcionó para mí: stackoverflow.com/questions/42928765/…
Mike

Respuestas:

82

Este problema proviene de una actualización de seguridad: https://launchpad.net/ubuntu/+source/imagemagick/8:6.8.9.9-7ubuntu5.13

Alguien lo informó como un error: https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563

Como solución temporal, he editado /etc/ImageMagick-6/policy.xmly cambiado los derechos de PDF a partir nonede read|writeallí. No estoy seguro de las implicaciones, pero al menos me permite hacer las cosas.

YoungFrog
fuente
1
Lo examiné nuevamente, y estoy casi seguro de que la solución de seguridad está relacionada con kb.cert.org/vuls/id/332928 (que documenta varias formas de omitir -dSAFER en ghostscript).
YoungFrog
3
De hecho, esto funciona como se anuncia. Simplemente comenté (eliminé efectivamente) la línea pdf. ¡Sería bueno saber cuáles serían los efectos secundarios! El mapa de políticas en el archivo de configuración comenta que esto es para "deshabilitar los tipos de formato ghostscript".
Marten Koetsier
1
Dudaba en cambiar la configuración de seguridad. Como alternativa a imagemagick utilicé "pdftoppm -jpeg input.pdf output.jpg" (del paquete denominado poppler-utils). Esta alternativa fue publicada en bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563
Vahid Pazirandeh
Cambie la política de formato de archivo de destino respectivamente <policy domain = "coder" rights = "read | write" pattern = "PDF" />. Por lo general, estarán al final. Gracias
yunus
3

Solucioné esto en mi Ubuntu 16.04.6 LTS siguiendo la respuesta aceptada .

Se creó una línea de sed simple para arreglar esto más rápido:

sudo sed -i 's#<policy domain="coder" rights="none" pattern="PDF" />#<policy domain="coder" rights="read|write" pattern="PDF" />#' /etc/ImageMagick-6/policy.xml

y de manera programática.

N0rbert
fuente