Обновление ghostscript 9.26 ломает imagick readImage для многостраничного PDF - PullRequest
0 голосов
/ 30 ноября 2018

После обновления ghostscript 9.25 -> 9.26 (в Debian) вчера утром мы получаем эту ошибку:

ErrorMessage: FailedToExecuteCommand 
`'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT
 -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 
'-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r300x300' 
-dFirstPage=1 -dLastPage=1 '-sOutputFile=/tmp/magick-39903EapVvuyNQxL4%d' 
'-f/tmp/magick-39903VD0GMIpLPaIN' 
'-f/tmp/magick-399031owlSOb4aOEw'' (-1) 
@ error/delegate.c/ExternalDelegateCommand/462

При попытке прочитать первую страницу многостраничного PDF:

$this->resource = new \Imagick();
$this->resource->setResolution(300, 300);
$this->resource->readImage($path . '[0]');

есть идеи, как решить эту проблему?

См .: https://www.ghostscript.com/doc/9.26/History9.htm#Version9.26 См .: https://secure.php.net/manual/en/imagick.readimage.php

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

У меня нет «решения», но я могу подтвердить проблему с момента обновления до GS 9.26.Я выяснил, что, как указал KenS, все отлично работает при удалении параметров -dFirstPage = 1 -dLastPage = 1 в gs.

Также работает удаление gs-параметра -dMaxBitmap = 500000000.Значение в PHP, удалите [PAGE] т.е.Я использую Ubuntu Bionic LTS.Поэтому мне пришлось бежать:

sudo apt-get remove ghostscript
sudo apt-get autoremove
sudo apt-get install ghostscript=9.22~dfsg+1-0ubuntu1 libgs9=9.22~dfsg+1-0ubuntu1 libgs9-common=9.22~dfsg+1-0ubuntu1
sudo apt-mark auto libgs9
sudo apt-mark auto libgs9-common
0 голосов
/ 30 ноября 2018

Почти наверняка это сообщение об ошибке:

https://bugs.ghostscript.com/show_bug.cgi?id=699815

Ваши решения;не используйте устройство pngalpha, не используйте FirstPage / LastPage, не обновляйте версию до исправления или не переходите на более раннюю версию.Хотя эта ошибка потенциально присутствует во многих более ранних версиях, я не знаю, почему она не была показана ранее.

...