PHP实现PDF转图片的详细过程(使用imagick)

1.环境配置:

PHP实现PDF转图片的详细过程(使用imagick)_第1张图片

2.实现原理:

Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调用ghostscript

3.安装php扩展imagick

imagick是一个PHP扩展,调用的是ImageMagick提供API来进行图片的创建与修改。

我这里直接使用宝塔面板安装的,比较简单。

也可以使用源码安装。

Php > 安装扩展 > imagemagick > 安装

PHP实现PDF转图片的详细过程(使用imagick)_第2张图片

PHP实现PDF转图片的详细过程(使用imagick)_第3张图片

安装完成 

PHP实现PDF转图片的详细过程(使用imagick)_第4张图片

命令窗口测试

php --ri imagick

PHP实现PDF转图片的详细过程(使用imagick)_第5张图片

4.安装ghostscript

ghostscript一款图像浏览工具,这款软件适用于Unix、Mac OS X、VMS、Windows、OS/2和Mac OS classic等操作系统的使用。Ghostscript中文版能够查看以及打印PS、EPS、PDF格式的文件

安装命令很简单

yum install ghostscript

PHP实现PDF转图片的详细过程(使用imagick)_第6张图片

 当没有安装ghostscript 直接使用,报错:

PHP实现PDF转图片的详细过程(使用imagick)_第7张图片

5.pdf转图片

功能代码

/**
 * 将pdf文件转化为多张png图片
 */
function pdfToPng()
{
    $pdf = 'https://solveset.oss-cn-beijing.aliyuncs.com/1671686912.pdf';
    $path = public_path('uploads/');
    $im = new \Imagick();
    $im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
    $im->setCompressionQuality(100);
    $im->readImage($pdf);
    $return = [];
    foreach ($im as $k => $v) {
        $v->setImageFormat('png');
        $fileName = $path . md5($k . time()) . '.png';
        if ($v->writeImage($fileName) == true) {
            $return[] = $fileName;
        }
    }
    print_r($return);
}

 返回结果:

打开图片

PHP实现PDF转图片的详细过程(使用imagick)_第8张图片

Pdf转图片成功实现,因为只有一页,如果是多页则是多张图片。 

总结

到此这篇关于PHP实现PDF转图片的文章就介绍到这了,更多相关PHP PDF转图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(PHP实现PDF转图片的详细过程(使用imagick))