Cakephp 如何使用ImageMagick for PHP将多页PDF转换为图像?

Cakephp 如何使用ImageMagick for PHP将多页PDF转换为图像?,cakephp,imagemagick,Cakephp,Imagemagick,我想将pdf文件转换为图像。我在cakePHP中使用ImageMagick进行图像转换 当我使用单页PDF时,它会被转换为图像,但问题是当我使用多页PDF时,只有文档的最后一页转换为图像,而不是所有页面 我怎样才能解决这个问题 这是我的密码 public function convertToImage() { $this->layout = "ajax"; $uploadfile=APP.WEBROOT_DIR.DS.'files'.DS.$this-&g

我想将pdf文件转换为图像。我在cakePHP中使用ImageMagick进行图像转换

当我使用单页PDF时,它会被转换为图像,但问题是当我使用多页PDF时,只有文档的最后一页转换为图像,而不是所有页面

我怎样才能解决这个问题

这是我的密码

 public function convertToImage() {  
     $this->layout = "ajax";

        $uploadfile=APP.WEBROOT_DIR.DS.'files'.DS.$this->request->data['f'];
        $uploaddir=APP.WEBROOT_DIR.DS.'files'.DS.'images'.DS;
        $im = new imagick();
        $im->setResolution(80,80);
        $im->readimage($uploadfile);//."[0]");
        $im->setImageFormat('jpeg');
        $image_name = $this->request->data['f'].".jpg";
        $imageprops = $im->getImageGeometry();
        if ($imageprops['width'] <= 1275 && $imageprops['height'] <= 1650) {
            // don't upscale
         } else {
             $im->resizeImage(1275,1650, imagick::FILTER_LANCZOS, 0.9, true);
         }


        $im->writeImage($uploaddir .$image_name);
        $im->clear();
        $im->destroy();exit;
 }  

您可以通过以下方式访问每个页面:

$im->readimage($uploadfile."[".$pageNumber."]");
使用imagemagick,您还可以读取pdf中的页面数:

$document = new Imagick('document.pdf'); 
$document->getNumberImages();
使用这个数字,您可以在每个页面上迭代并保存图像


如上所述:当与pdf一起使用时,imagemagick的指针设置为最后一页。

我想知道是否可以将所有pdf页面转换为一个连续图像。