Установка расширения библиотеки imagick на xampp Windows? - PullRequest
0 голосов
/ 08 марта 2020

Мне нужно преобразовать pdf в формат изображения (jpg или png) для дипломного проекта, и я планировал установить библиотеку imagick на xampp, что оказалось непросто. Кстати, версия php, которая у меня сейчас есть, PHP 7.4.3 .

Я основал шаги по установке imagick по этой ссылке: https://ourcodeworld.com/articles/read/349/how-to-install-and-enable-the-imagick-extension-in-xampp-for-windows Information on PHP

  1. Установленный imageMagick (ImageMagick-7.0.10-0-Q16-x64-dll.exe) на моем Windows 10 p c (после проверки с помощью magick -version и возможности отображения версии imageMagick, установленной на p c.)

  2. Добавлен php_imagick.dll в xampp / php / ext который я получил с сайта PHP PECL. 3.4.4 stable 2019-05-02 imagick-3.4.4.tgz (247,5 КБ) DLL

  3. Включено расширение для php .ini файла через расширение = imagick

  4. Добавлены двоичные файлы, которые я получил от PECL DEPS (IMO и CORE .dll).
    23.11.2017 15:58 47633113 ImageMagick-7.0.7-11-vc15-x64 .zip

После запуска phpinfo () отображаются следующие элементы:

Imagick Library Module Specifications

Я решил проверить библиотеку, используя код <?php $image = new Imagick(); $image->newImage(1, 1, new ImagickPixel('#ffffff')); $image->setImageFormat('png'); $pngData = $image->getImagesBlob(); echo strpos($pngData, "\x89PNG\r\n\x1a\n") === 0 ? 'Ok' : 'Failed'; ?>, но веб-страница пуста .

Я попытался добавить xampp / apache / bin в PATH в Windows, чтобы исправить проблему, но проблема все еще существует. Кроме того, это то, что php intelephense (расширение в vscode) произвело: enter image description here

Есть ли кто-нибудь, кто может дать какой-либо совет о том, как сделать эту работу?

1 Ответ

1 голос
/ 08 марта 2020

Почему бы просто не использовать Imagemagick напрямую? Затем вы можете создавать командные файлы со стандартными настройками, в которые вы можете поместить свой файл. Вам необходимо установить Ghostscript до того, как Imagemagick и Imagemagick будут автоматически на него ссылаться

Пока вы разрешаете ему устанавливать переменные окружения во время установки, это должно работать как командный файл:

magick -density 400 %1 "%~n1.png"

Вы можете добавить в строку все, что захотите.

Вы также можете запустить из командной строки:

 magick -density 400 "Path\to\input.pdf" "Path\to\th_%~n1.png"

Изменить, чтобы ответить на комментарий:

У меня есть два сайты, использующие Imagemagick непосредственно в php с exe c (). Я не использую Imagik, так как нахожу Imagemagick проще, и у него больше возможностей. Предполагается, что Imagick будет безопаснее и немного быстрее. На сервере вы должны использовать что-то вроде этого:

exe c ("magick -density 400 \" Path \ to \ input.pdf \ "\" Path \ to \ output.png \ "");

Не уверен насчет размещения ссылки здесь, но проверьте мой профиль

...