使用ImageMagick pdf到jpg

时间:2015-10-14 06:04:04

标签: php imagemagick

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

未指定页码仅转换第一页

    $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 个答案:

答案 0 :(得分:1)

两个选项......

选项1

要使PDF的每个页面作为单独的JPEG格式出现,请更改第3行的最后一行:

$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");

true更改为false,具体取决于您是想要一个高大的图片列表还是一个宽图片列表。