Erro durante a conversão de jpg para pdf

56

Cada vez que eu quero converter jpgarquivo para pdfpor este comando

convert *.jpg pictures.pdf

Eu tenho esta mensagem de erro:

convert: not authorized `pictures.pdf' @ error/constitute.c/WriteImage/1028.
Adon Naaman
fonte
11
converter * .jpg pictures.pdf substituirá todos os arquivos pdf como um arquivo pictures.pdf?
Vijay
Esta solução do StackOverflow funcionou para mim: stackoverflow.com/questions/42928765/…
Mike

Respostas:

80

Este problema vem de uma atualização de segurança: https://launchpad.net/ubuntu/+source/imagemagick/8:6.8.9.9-7ubuntu5.13

Alguém relatou isso como um bug: https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563

Como correção temporária, editei /etc/ImageMagick-6/policy.xmle alterei os direitos do PDF de lá nonepara read|writecá. Não tenho certeza sobre as implicações, mas pelo menos isso me permite fazer as coisas.

YoungFrog
fonte
11
Examinei novamente e tenho quase certeza de que a correção de segurança está relacionada ao kb.cert.org/vuls/id/332928 (que documenta várias maneiras de ignorar -dSAFER no ghostscript).
YoungFrog
2
Isso realmente funciona como anunciado. Eu simplesmente comentei (removi efetivamente) a linha pdf. Seria bom saber quais seriam os efeitos colaterais! O mapa de políticas no arquivo de configuração comenta que isso é para "desativar os tipos de formato ghostscript".
Marten Koetsier
11
Hesitei em alterar as configurações de segurança. Como alternativa ao imagemagick, usei "pdftoppm -jpeg input.pdf output.jpg" (do pacote chamado poppler-utils). Esta alternativa foi publicada em bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563
Vahid Pazirandeh
Altere a política de formato de arquivo de destino, respectivamente <policy domain = "coder" rights = "read | write" pattern = "PDF" />. Geralmente eles estarão no final. Obrigado
yunus
3

Corrigido isso no meu Ubuntu 16.04.6 LTS, seguindo a resposta aceita .

Criou o sed one-liner simples para corrigir isso mais rapidamente:

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

e de maneira programática.

N0rbert
fonte