ImageMagick: convert-im6.q16: изображения не определены

ImageMagick может конвертировать несколько изображений в один PDF.

Как я могу конвертировать серию изображений в pdf-файл из командной строки на linux

Как можно отменить операцию?

Преобразовать PDF страниц в несколько изображений?

Попробуйте решение

$ convert test.pdf test-%02.png
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert-im6.q16: no images defined `test-%02.png' @ error/convert.c/ConvertImageCommand/3258.

GS был установлен

$ gs --version
9.26

Версия Ubuntu

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:    19.04
Codename:   disco
2
задан 18 October 2019 в 07:46

2 ответа

Интересно достаточно ImageMagick под 19,04 (и другие релизы Ubuntu!) отключает много ghostscript типов формата. Это видно в этом отрывке от /etc/ImageMagick-6/policy.xml:

  <!-- disable ghostscript format types -->
  <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="EPS" />
  <policy domain="coder" rights="none" pattern="PDF" /> <------- Here!!
  <policy domain="coder" rights="none" pattern="XPS" />

Конечно, я добавил стрелку для привлечения внимания :). Измените эту отмеченную стрелками строку к:

  <policy domain="coder" rights="read | write" pattern="PDF" />

Можно использовать любимый текстовый редактор, чтобы выполнить это, с помощью поднятых полномочий, или возможно просто использовать следующую sed остроту:

sudo sed -i_bak \
's/rights="none" pattern="PDF"/rights="read | write" pattern="PDF"/' \
/etc/ImageMagick-6/policy.xml

И затем все должны быть хорошо, я протестировал это всесторонне на моих собственных 19.04 VM, где преобразование Вы после работ безупречно...

Если Вы хотите возвратить настройки к значению по умолчанию, то следующий один лайнер восстановит файл резервной копии, созданный в выполнении с sed:

sudo mv /etc/ImageMagick-6/policy.xml_bak /etc/ImageMagick-6/policy.xml

Насколько прохладный командная строка!

1
ответ дан 2 December 2019 в 04:35

Еще одна причина получения той же ошибки заключается в том, что исходные изображения слишком широкие, слишком высокие или слишком тяжелые.

Файл /etc/ImageMagick-6/policy.xml управляет тем, что является приемлемым в качестве изображения. Максимальные ширина и высота устанавливаются следующим образом:

<policy domain="resource" name="width" value="10KP"/>
<policy domain="resource" name="height" value="10KP"/>

10KP означает 10000 пикселей. Если ваше изображение больше, чем при запуске identify , информация об изображении не отображается в терминале, и изображение в основном недоступно для Image Magick.

Другие общие свойства, которые влияют на то, будут ли изображения доступны или нет: память , карта , область и диск .

Здесь документ, описывающий policy.xml : https://imagemagick.org/script/security-policy.php

7
ответ дан 11 December 2019 в 11:02

Другие вопросы по тегам:

Похожие вопросы: