2014-08-29 77 views
0

我目前使用Imagemagick和thumbnailer我有作品,但問題是,當它的多頁PDF時,它只縮略圖最後一頁。Imagemagick Thumbnailing PDF與多個頁面

最好我希望它只是第一頁。任何人都可以擺脫任何光。

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(); 
}