2013-04-17 41 views
1

這是我得到的代碼,它工作正常。我只是不相信這是做「最好」的方式。Image Magick有沒有更好的方式來遍歷PDF頁面(轉換PDF小冊子爲.jpg)

<? 
    $im = new imagick(); 
    $im->setResolution(10,10); 
    $im->readimage('document.pdf'); 
    $pages = $im->getNumberImages(); 
    $im->clear(); 
    $im->destroy(); 

    for($i=0;$i<$pages;$i++) { 
     $im = new imagick(); 
     $im->setResolution(100,100); 
     $im->readimage('document.pdf['.$i.']'); 
     $im->setImageFormat('jpeg'); 
     $im->writeImage($i.'.jpg'); 
     $im->clear(); 
     $im->destroy(); 
    } 
?> 

任何人都知道如何做到這一點最好的方式?請告訴我如何。

回答

2

希望這會幫助別人。

我的解決方案是使用方法writeImages。確保將$毗鄰標誌設置爲false以獲取單獨的文件。

$im = new imagick(); 
$im->setResolution(100,100); 
$im->readimage('document.pdf'); 
$im->setImageFormat('jpeg'); 
$im->writeimages('document.jpg', false); 
$im->clear(); 
$im->destroy(); 

這將導致文檔0.jpg,文檔1.JPG,文檔3.JPG

+0

如何寫入到另一個目錄? – Piero

+0

想通了,只是提供目錄和文件名。 $ im-> writeimages('/ directory/document.jpg',false); – Piero

+0

不錯!似乎也更快! – Marcel