#php #apache2 #imagemagick #suexec #suphp
#php #apache2 #imagemagick #suexec #suphp
Вопрос:
У меня странная ошибка в php-модуле image magick.
ImagickException [ 1 ]: Postscript delegate failed '/tmp/magick-XXxIARsr': wd7C.cache @ error/pdf.c/ReadPDFImage/638
Судя по всему, это проблема с авторизацией.
У меня есть suphp и suexec в apache. Я думаю, что есть проблема с путем кеширования. но я изменил его в configure.xml
файле, и путь все тот же.
У вас есть какие-нибудь идеи?
Комментарии:
1. Похоже, что файл PDF может быть поврежден. Вы получаете ту же ошибку при чтении других файлов?
2. Чего именно вы пытаетесь достичь с помощью PHP? Затем попробуйте создать соответствующую командную строку для делегата PostScript (которым, вероятно, является Ghostscript) и запустите его непосредственно с тем же входным файлом. Просто чтобы проверить, не связано ли реальное с ошибочным файлом ввода или с ошибкой в версии вашего делегата PostScript…
3. я пытаюсь извлечь страницы PDF для создания изображений png, вот код :
$images = new Imagick($_SERVER['DOCUMENT_ROOT'].$pdf_file); foreach($images as $i =>$image){ $image->setImageFormat('png'); $image->contrastImage( 1 ); $image->sharpenImage( 2,1 ); $image->scaleImage(0, 800); $image->writeImage($save_path.$i.'.png'); $picture_path[] = $filename.'-'.$i.'.png'; }
Ответ №1:
«делегаты» в Imagick-speak — это просто программы, которые imagick запускает для работы с некоторыми форматами файлов, которые он не может обработать самостоятельно. Как и в вашем случае — imagick не имеет встроенной программы чтения PDF, она полагается на GhostScript (я полагаю) для их отображения. Скорее всего, у вас либо не установлен GhostScript / GhostView, либо в PDF есть какая-то проблема, которая выводит из строя GhostScript — например, использование не встроенных шрифтов Windows.