На системах Arch Linux и производных при конвертировании документов из PDF в PNG возникает ошибка:
convert: attempt to perform an operation not allowed by the security policy `PDF'
Пример этой ошибки в программе:
Converting PDF to PNGs convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. convert: no images defined `/home/mial/test/for_testing_pages/page-transparent.png' @ error/convert.c/ConvertImageCommand/3300. Flattening PNGs Converting colors to achromatic Traceback (most recent call last): File "/usr/bin/pdf-redact-tools", line 216, in <module> main() File "/usr/bin/pdf-redact-tools", line 206, in main if pdfrt.explode(achromatic): File "/usr/bin/pdf-redact-tools", line 101, in explode filename_template = os.path.join(self.pages_dirname, filenames[0].replace('-0.png', '-{}.png')) IndexError: list index out of range
Ещё один пример:
convert -density 300 -depth 8 -quality 90 input.pdf output.png convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.
Видимо политика безопасности Imagemagick не позволяет эту конвертацию из pdf в png. Конвертация других форматов вроде бы работает, только не из pdf. Такое происходит со стандартными настройками imagemagick.
Два варианта решения проблемы:
1.
В файле /etc/ImageMagick-7/policy.xml перед строкой
</policymap>
вставьте строку:
<policy domain="coder" rights="read | write" pattern="PDF" />
и всё заработает.
2.
Второй вариант аналогичный, также нужно открыть файл /etc/ImageMagick-7/policy.xml
Найдите там не закомментированную строку
<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />
И закомментируйте её, то есть поместите перед ней <!--, а в конце -->.
После этого pdf конвертация должна снова работать.
Не нужно делать сразу два варианта — выбирите один из них. При первом варианте будет разрешена конвертация только из PDF, при втором варианте будет разрешена конвертация из всех форматов PS, PS2, PS3, EPS, PDF, XPS.
Такая политика в отношении PDF была добавлена из-за бага в Ghostscript, который теперь исправлен. То есть если вы используете текущую версию Ghostscript, то в этой политике уже нет нужды.
То есть не забудьте обновить ваш Ghostscript до последней версии!
Смотрите также: Ошибка «convert: attempt to perform an operation not allowed by the security policy `gs'» (РЕШЕНО)
Близкие статьи
- Ошибка «convert: attempt to perform an operation not allowed by the security policy `gs'» (РЕШЕНО) (100%)
- Восстановление из чёрного экрана при неудачной установке проприетарных AMD драйверов в BlackArch / Arch (50.6%)
- Решение проблемы X server не поднимается в VirtualBox VM после обновления ядра до 4.5 (50.6%)
- Решение ошибки reaver: invalid option -- 'K' (50.6%)
- Решение проблемы Arch Linux kernel 4.7 в VirtualBox: reached target graphical interface (50.6%)
- Решение проблемы с ошибкой «0009:err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption» (RANDOM - 50.6%)