2014-08-29 2 views
0

현재 Imagemagick과 썸네일 작성기를 사용하고 있습니다.하지만 문제는 다중 페이지 PDF의 경우 마지막 페이지 만 축소판으로 나타납니다.Imagemagick 다중 페이지가있는 축소판 PDF

첫 번째 페이지 만 thubnail로 지정하는 것이 좋습니다. 누구든지 어떤 빛이라도 흘릴 수 있습니까?

if(in_array($ext,array('pdf'))){ 

       $pdf = './uploads/'.$new_file_name; 

       $filename=str_replace($ext,'jpg',$new_file_name); 

       $img = new imagick($pdf); 

       for ($x = 1;$x <= $img->getNumberImages(); $x++) {  
        $save_to = './uploads/'.$x.'-'.$filename; 
        $img->setImageFormat('jpg'); 
        $img->resizeImage(149,211,Imagick::FILTER_LANCZOS,1); 
        $img->displayImages('img'); 
        $img->writeImage($save_to); 
       } 

답변

0

for 루프에서는 각 반복마다 이미지 색인을 설정해야합니다.

for ($x = 1;$x <= $img->getNumberImages(); $x++) { 
    $img->setIteratorIndex($x - 1); // nth - 1 assuming we're starting with `$x = 1'  
    $save_to = './uploads/'.$x.'-'.$filename; 
    $img->setImageFormat('jpg'); 
    $img->resizeImage(149,211,Imagick::FILTER_LANCZOS,1); 
    $img->displayImages('img'); 
    $img->writeImage($save_to); 
} 

업데이트 :

while 루프 Imagick::hasNextImageImagick::nextImage와 쉬운 솔루션을 제공의 나.

$img = new imagick($pdf); 
while($img->hasNextImage()) { 
    // ... do work 
    $img->nextImage(); 
} 
관련 문제