ImageMagick, Ghostscript и PDF-файлы

У меня проблема с преобразованием PDF в JPG ImageMagick и Ghostscript. Иногда я боюсь

convert multipage.pdf multipage.jpg    
convert: no images defined `multipage.jpg' @ error/convert.c/ConvertImageCommand/3210.
  • Он работает только с некоторыми PDF-файлами, кажется, только PDF1.3, не уверен.
  • Как я вижу, делегаты ImageMagick верны для Ghostscript (в противном случае он вообще не должен работать).
  • Ghostscript, кажется, работает. Я бегу и получаю исключенный вывод

    gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r96 -sOutputFile='page-%00d.jpg' multipage.pdf
    

Есть ли проблема с вызовом Ghostscript из ImageMagick? Есть ли журнал? В моей Ubuntu-инсталляции отсутствует что-то вроде шрифтов или чего-то другого?

Пробовал переустанавливать Ghostscript и ImageMagick много раз.

Запуск Ubuntu 16.04

Любые намеки приветствуются!

1 ответ

Я не уверен, что вы нашли решение, а также знаете, что это очень старый пост, и, поскольку кому-то может понадобиться информация об этом, я хотел бы поделиться возможным решением.

Как предположение. Похоже, вы пытаетесь работать с документом, состоящим из более чем одной страницы. Также неясно, был ли другой PDF-файл, над которым работала команда, одностраничным.

Но, основываясь только на предположениях, просто хочу уточнить, я предполагаю, что единственная проблема с вашей командой заключается в том, что вы не указываете, какую страницу PDF-документа вы собираетесь преобразовать в изображение. Как и во многих учебниках в Интернете, вам нужно сделать что-то вроде этого:

      convert "multipage.pdf[0]" multipage.jpg

Команда указывает, что первая страница будет отображаться как изображение, а затем конвертироваться в файл JPEG.

Также имейте в виду, что новые установки ImageMagick запрещают обработку файлов PostScript. Если вы получаете сообщение об ошибке, подобное следующему:

      attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408

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

      <!-- disable ghostscript format types -->
<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" />

Но имейте в виду, это очень важное примечание : если у вас установлена ​​более старая версия GhostScript, делать это не рекомендуется, так как для более старых версий существует серьезная дыра в безопасности. Я рекомендую всегда поддерживать GhostScript и ImageMagick в актуальном состоянии и соответствующим образом исправлять свой код.

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