Я установил Imagick 3.4.4 в своем WAMP, используя шаги, определенные здесь: https://newsinfo-blog.blogspot.com/2015/03/install-imagick-on-wamp-server.html
Затем я использую следующий код для преобразования PDF в изображение JPEG:
$im = new Imagick();
$im->setResolution(300,300);
$im->readImage($_SERVER['DOCUMENT_ROOT'] . '/codeigniter/assets/lofthouse.pdf[0]');
$im->setImageFormat('jpeg');
$im->writeImage('thumblofthouse.jpg');
$im->clear();
$im->destroy();
Но я получаю следующее сообщение об ошибке:
Произошла неизвестная ошибка Тип: ImagickException
Сообщение: NoDecodeDelegateForThisImageFormat `PDF '@ error / construct .c / ReadImage / 509
Что я делаю не так? Как я могу сохранить первую страницу PDF как изображение?
Я заметил, что когда я пытаюсь:
print_r(Imagick::queryFormats());
, в результате получается пустой массив.
РЕДАКТИРОВАТЬ:
Это шаги, которые я предпринял до сих пор:
- Скачал ImageMagick https://imagemagick.org/script/download.php#windows и установил его через установщик , поместите его в мою папку D: \ software.
- Скачал и установил Ghostscript: https://www.ghostscript.com/download/gsdnld.html, поместил его в папку D: \ и поставил галочку для генерации шрифтов.
- Скопировал файл php_imagick.dll в мою / ext / папку
- Скопировал все файлы CORE_RL_ * в apache / bin / folder
- Добавлен путь root в каталог установки ImageMagick в моих переменных PATH (и поместил его выше строки PHP)
EDIT2: я также сделал следующие шаги, хотя я определенно не уверен, что они необходимы
- Создана новая системная переменная с именем MAGICK_HOME и она указывает на каталог imagemagick root.
- изменил политику. xml в ImageMagick, добавив
<policy domain="module" pattern="{PS,PDF,XPS}" rights="read|write"/>
в атрибут policymap.
Вот что возвращает phpinfo ():
imagick module enabled
imagick module version 3.4.4
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version ImageMagick 7.0.7-11 Q16 x86 2017-11-23 http://www.imagemagick.org
Imagick using ImageMagick library version ImageMagick 7.0.7-11 Q16 x86 2017-11-23 http://www.imagemagick.org
ImageMagick copyright Copyright (C) 1999-2015 ImageMagick Studio LLC
ImageMagick release date 2017-11-23
ImageMagick number of supported formats: 0
EDIT3: я могу конвертировать PDF в JPG через командную строку, используя ImageMagick. После всех вышеперечисленных шагов я получаю следующую ошибку:
Type: ImagickException
Message: no decode delegate for this image format `PDF' @ error/constitute.c/ReadImage/509