Я на следующийImageMagick получения неперехваченного Фатальная ошибки после выполнения 5-7 комплектов PDF в JPG
Ubuntu 12.04 LTS
PHP 5.3.10-1ubuntu3.18 with Suhosin-Patch (cli)
ImageMagick 6.6.9-7
GPL Ghostscript 9.05 (2012-02-08)
моего GS под /usr/bin
Я непрерывно преобразовывать - PDF в JPG каждого pdf на одно изображение. Он работал первый раз для 1-30 наборов PDF, но теперь я получаю сообщение об ошибке после завершения 7 наборов PDF-файлов
запуск скрипта PHP в командной строке. После преобразования 5-7 комплектов PDF в JPG отдельных изображений (около 1000 JPG) я получаю следующее сообщение об ошибке
PHP Fatal error: Uncaught exception 'ImagickException' with message 'Postscript delegate failed `../books/58/58.pdf': @ error/pdf.c/ReadPDFImage/663' in /var/www/mysite/public_html/admin/lib.php:10
Stack trace:
#0 /var/www/mysite/public_html/admin/lib.php(10): Imagick->__construct('../books/58/58....')
#1 /var/www/mysite/public_html/admin/test.php(118): include('/var/www/stagin...')
#2 {main}
thrown in /var/www/mysite/public_html/admin/lib.php on line 10
lib.php имеет скрипт для преобразования PDF в JPG - код, как показано ниже
<?php
$file_name = "../books/$book_id/$book_id".'.pdf';
mkdir("../books/$book_id/pages");
// Strip document extension
$file_name = basename($file_name, '.pdf');
// Convert this document
// Each page to single image
$img = new imagick("../books/$book_id/$book_id".'.pdf');
// Set image resolution
// Determine num of pages
$img->setResolution(300,300);
$num_pages = $img->getNumberImages();
// Convert PDF pages to images
for($i = 0;$i < $num_pages; $i++) {
// Set iterator postion
$img->setIteratorIndex($i);
// Set image format
$img->setImageFormat('jpeg');
// Write Images to temp 'upload' folder
$img->writeImage("../books/$book_id/pages/$i".'.jpg');
}
$img->destroy();
?>
После получения ошибки прекратите преобразование, но когда я запустил скрипт, он работает еще на 5-7 наборов PDF и снова остановится. Может кто-нибудь, пожалуйста, скажите мне, что мне здесь не хватает.
Я ценю вашу помощь. Спасибо заранее.
Ваш ghostscript и ImageMagick довольно устарели, и эти вещи всегда улучшаются - возможно, вы можете обновить свое программное обеспечение и посмотреть, помогает ли это ... –
Попробуйте использовать Ghostscript прямо, если вы хотите, чтобы это было JPEG каждой страницы файл PDF. Таким образом, если вы получите сообщение об ошибке, вы сможете сообщить нам, что он говорит, и вы можете открыть отчет об ошибке GS. Если вы не планируете обрабатывать изображения после их рендеринга, вам не нужен ImageMagick, GS может выполнять работу самостоятельно. – KenS