На системах Debian, Ubuntu, Linux Mint и производных при конвертировании документов из PDF в PNG возникает ошибка:
attempt to perform an operation not allowed by the security policy `PDF'
Пример команды, вызывающей данную ошибку:
convert -density 300 -quality 100 PL48536179.pdf out.jpg convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421. convert-im6.q16: no images defined `out.jpg' @ error/convert.c/ConvertImageCommand/3229.
Видимо политика безопасности Imagemagick не позволяет эту конвертацию из pdf в png. Конвертация других форматов вроде бы работает, только не из pdf. Такое происходит со стандартными настройками imagemagick.
Два варианта решения проблемы:
1.
В файле /etc/ImageMagick-6/policy.xml перед строкой
</policymap>
вставьте строку:
<policy domain="coder" rights="read | write" pattern="PDF" />
и всё заработает.
Примечание: Путь до файла policy.xml может отличаться в зависимости от версии ImageMagick, например, путь может быть таким: /etc/ImageMagick-7/policy.xml
2.
Второй вариант аналогичный, также нужно открыть файл /etc/ImageMagick-7/policy.xml
Найдите там не закомментированные строки
<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" />
И закомментируйте их, то есть поместите перед ними <!--, а в конце -->.
После этого pdf конвертация должна снова работать.
Не нужно делать сразу два варианта — выбирите один из них. При первом варианте будет разрешена конвертация только из PDF, при втором варианте будет разрешена конвертация из всех форматов PS, PS2, PS3, EPS, PDF, XPS.
Такая политика в отношении PDF была добавлена из-за бага в Ghostscript, который теперь исправлен. То есть если вы используете текущую версию Ghostscript, то в этой политике уже нет нужды.
То есть не забудьте обновить ваш Ghostscript до последней версии!
Связанные статьи:
- Ошибка «convert: cache resources exhausted» (РЕШЕНО) (100%)
- Как в командной строке сделать скриншот сайта (58.4%)
- Ошибка «-bash: sudo: command not found» - не найдена команда sudo (РЕШЕНО) (50.8%)
- ps обрезает текст команды (РЕШЕНО) (50.4%)
- Лучшие терминальные мультиплексные инструменты (50%)
- Куда npm устанавливает пакеты. Ошибка «Error: Cannot find module» даже после установки модуля (RANDOM - 0.8%)
Спасибо, благодаря этой статье решили проблему