zaLinux.ru

Ошибка «attempt to perform an operation not allowed by the security policy `PDF’» (РЕШЕНО)


На системах 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 до последней версии!


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован.