2015-10-14 55 views
0

安装在本地服务器imagemagick,但不明白如何将PDF文件的所有页面转换为单个图像jpg。甚至是否可能。pdf到jpg与ImageMagick

如果不指定页码只将第一页

$im = new imagick("libs/pdf/files/$Jfile"); 
    // convert to jpg 
    $im->setImageColorspace(255); 
    $im->setCompression(Imagick::COMPRESSION_JPEG); 
    $im->setCompressionQuality(60); 
    $im->setImageFormat('jpeg'); 
    //resize 
    $im->resizeImage(385, 500, imagick::FILTER_LANCZOS, 1); 
    //write image on server 
    $im->writeImage("libs/pdf/files/$JPGfile"); 
    $im->clear(); 
    $im->destroy(); 

回答

1

两个选项...

选项1

为了使PDF的每一页出来作为一个单独的JPEG,请将最后一行改为:

$im->writeImage("libs/pdf/files/$JPGfile"); 

喜欢的东西:

$im->writeImages("z%03d.jpg",false); 

选项2

为了使PDF的所有页面打印出来在一个长长的清单,改变其中评论说,“在服务器上写像”于以下内容:

// Write on server 
$im->resetIterator(); 
$appended = $im->appendImages(true); 
$appended->writeImage("appended.jpg"); 

变化truefalse这取决于你是否希望图像的高大列表或宽的。