【问题标题】:pdf to jpg with ImageMagick使用 ImageMagick 将 pdf 转换为 jpg
【发布时间】:2015-10-14 06:04:04
【问题描述】:

安装在本地服务器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();

【问题讨论】:

    标签: php imagemagick


    【解决方案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");
    

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

    【讨论】: