2013-06-25 8 views
0

В php, используя Imagick, я могу конвертировать одну PDF-страницу в jpg-картинку сразу. Но мне нужно преобразовать все страницы моего pdf в jpg-файлы в отдельной папке.конвертировать все pdf-страницы в изображение

ниже моего кода

<?php 
    for($i=0;$i<=20;$i++){ 
    $pdf_file = 'book.pdf'; 
    $save_to = 'pages/tw'.$i.'.jpg'; 
    $img = new imagick(); 
    $img->setResolution(200,200); 
    $img->readImage("{$pdf_file}[$i]"); 
    $img->scaleImage(800,0); 
    $img->setImageFormat('jpg'); 
    $img = $img->flattenImages(); 
    $img->writeImages($save_to, false); 
    $img->destroy();  
} 
?> 

Над кодом дает результаты вплоть до 10 страниц. Затем он заканчивается временем выполнения 30 секунд. Я не могу управлять php.ini, потому что я использую хостинг с другой компанией.

ответ

1
$mypdf = escapeshellarg("mysafepdf.pdf"); 

    $newjpg = escapeshellarg("output.jpg"); 

    $result = 0; 

    exec("convert -density 600 {$mypdf} {$newjpg} -colorspace RGB -resample 300", null, $result); 

$ результат будет 0, если преобразование работает

-плотности = точек на дюйм

Я надеюсь, что это поможет!

PS .: Это только для одного изображения, но вы можете приспособиться к нему для вашего $ i.

+1

Это для ** imagemagick **. –

+0

Я пробовал этот метод exec, но я не могу получить хорошее качество, поэтому я перешел к воплощению преобразования на основе класса. я ожидаю, основываясь на воображаемом классе. – hserusv

+0

У вас увеличен ДОИ? –