ImageMagick / Imagick конвертируют PDF в JPG, используя собственный PHP API - PullRequest
12 голосов
/ 26 февраля 2009

Я пытаюсь конвертировать PDF файлы в PNG. Он прекрасно работает из командной строки (у меня установлен GhostScript 8.64). Но из PHP у меня возникла проблема:

код:

$im = new Imagick($pdf_file); // this is where it throws the exception below

выход:

Fatal error: Uncaught exception ‘ImagickException’ with message ‘Postscript delegate failed `23_1235606503.pdf’: No such file or directory @ pdf.c/ReadPDFImage/612′ in get_thumbnail.php:93
Stack trace:
\#0 get_thumbnail.php(93): Imagick->__construct(’…’)

и т.д.. и т.д.

Я не уверен, что я делаю здесь неправильно, но подозреваю, что это как-то связано с конфигурацией моего сервера Я бегу: Apache 2.2.11 PHP 5.2.8 ImageMagick 6.4.8-9 GhostScript 8.64

Ответы [ 3 ]

18 голосов
/ 26 февраля 2009

Наконец-то понял это. Исполняемый файл GhostScript (gs) не был указан в пути к среде Apache. Это было в /usr/local/bin. Хотя я пробовал несколько способов добавить /usr/local/bin к пути, мне это не удалось. Я закончил тем, что поместил символическую ссылку для gs в /usr/bin directory. Теперь все работает отлично.

5 голосов
/ 22 декабря 2016

У меня нет «репутации» в Stackoverflow для добавления комментария, встроенного выше, но я должен был выполнить дополнительный шаг, чтобы это работало на моем Mac с последним обновлением Sierra.

При вводе команды:

sudo ln -s /usr/local/bin/gs /usr/bin/gs

На Mac вы можете получить сообщение об ошибке «Операция не разрешена».

Очевидно, что Apple внесла изменение, что каталог "bin" недоступен для редактирования, если вы не отключите SIP (защита целостности системы).

Итак, вот шаги для этого:

  1. Перезагрузите Mac в режиме Recorvery, перезагрузив компьютер и удерживая «Command + R», пока на экране не появится логотип Apple.
  2. Нажмите Утилиты> Терминал
  3. В окне терминала введите crutil disable и нажмите «Ввод»
  4. Перезагрузите Mac.

Я только что прошел эти шаги, и теперь мой Ghostscript прекрасно работает, и я успешно конвертировал PDF в JPG.

0 голосов
/ 25 марта 2009

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

//Convert PDF contract to image using ImageMagik and Ghostscript
// NOTE: This will need to be change if running on Linux
$source = $appDir."\\".$clientID."\\".$clientID.".pdf";
$dest = $appDir."\\".$clientID."\\".$clientID.".jpg";
//print("c:\\IM\\convert.exe $source $dest ");
exec("c:\\IM\\convert.exe $source $dest ");
...