Фатальная ошибка: Uncaught ImagickException: PDFDelegateFailed - PullRequest
0 голосов
/ 03 мая 2019

Я хочу отобразить PDF-файлы, такие как файлы изображений, на моей веб-странице на Apache2.4 на PHP7 в Windows 2008 Server, но у меня появляется следующая ошибка:

Неустранимая ошибка: Uncaught ImagickException: PDFDelegateFailed

У меня уже есть установщик ImageMagick-7.0.8-Q16 и Ghostscript 9.27 (32 бита). Я заменяю Ghostcript 9.27 - 64 бита, поскольку сервер Apache немедленно завершает работу и перезапускается. Здесь я нашел это примечание здесь: PHP: Uncaught ImagickException: PDFDelegateFailed .

В окне командной строки:

Если я запускаю magick file.pdf file.jpg, это работает.

Если я запускаю magick -verbose file.pdf file.jpg, это работает, и я вижу, что он использует gswin32c.exe.

У меня на компьютере та же веб-страница с Win10 Pro, та же версия Imagick, та же версия ghostscript, та же версия Apache, та же версия PHP, и она отлично работает.

$pdfInfo = new Spatie\PdfToImage\Pdf($file);
while ($page < $pdfInfo->getNumberOfPages()) {
  $imagick = new Imagick();
  $imagick->setResolution(100, 100);
  $imagick->readImage(sprintf('%s[%s]', $file, $page));
  echo sprintf('<img src="data:image/%s;base64,%s" ><br>', $type, base64_encode($imagick));
  $page++;

1 Ответ

0 голосов
/ 06 июня 2019

Проблема была в версии Ghostscript.Мне пришлось заменить исполняемый файл gs со страницы Ghostscript на последнюю версию, и он отлично работает.

...