O comando
convert do
ImageMagick é usado para converter imagens de um formato para outro. Por exemplo, para converter uma imagem de formato PNG para JPG:
convert imagem.png imagem.jpg
O ImageMagick também pode ser usado para converter arquivos PDF para imagens. Por exemplo, para converter o arquivo PDF para uma imagem PNG:
convert -density 300 arquivo.pdf -quality 90 imagem.png
Porém o ImageMagick não permite a conversão de PDF para imagens por padrão. Se você executar o comando acima irá se deparar com a seguinte mensagem de erro:
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421
Para habilitar essa funcionalidade, primeiro você precisa se certificar que o ImageMagick está usando o Ghostscript 9.24 ou superior:
gs --version
Se o Ghostscript não estiver instalado, instale-o:
sudo apt install ghostscript
Em seguida, edite o arquivo /etc/ImageMagick-6/policy.xml e remova as seguintes linhas:
<!-- disable ghostscript format types -->
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
Ao invés de removê-las, você pode comentá-las, por exemplo:
<!-- disable ghostscript format types -->
<!-- <policy domain="coder" rights="none" pattern="PS" /> -->
<!-- <policy domain="coder" rights="none" pattern="PS2" /> -->
<!-- <policy domain="coder" rights="none" pattern="PS3" /> -->
<!-- <policy domain="coder" rights="none" pattern="EPS" /> -->
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
<!-- <policy domain="coder" rights="none" pattern="XPS" /> -->
E pronto, agora você pode converter arquivos PDF para imagens usando o ImageMagick.