网络编程
位置:首页>> 网络编程>> php编程>> PHP实现PDF转图片的详细过程(使用imagick)

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

作者:JSON_L  发布时间:2023-09-07 13:27:34 

标签:php,pdf,图片

1.环境配置:

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

2.实现原理:

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

3.安装php扩展imagick

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

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

也可以使用源码安装。

Php > 安装扩展 > imagemagick > 安装

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

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

安装完成 

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

命令窗口测试

php --ri imagick

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

4.安装ghostscript

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

安装命令很简单

yum install ghostscript

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

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

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

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)

打开图片

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

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

来源:https://blog.csdn.net/json_ligege/article/details/128413937

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com