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
Интересно достаточно 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
Насколько прохладный командная строка!
Еще одна причина получения той же ошибки заключается в том, что исходные изображения слишком широкие, слишком высокие или слишком тяжелые.
Файл /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