1.环境配置:
2.实现原理:
Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调用ghostscript
3.安装php扩展imagick
imagick是一个PHP扩展,调用的是ImageMagick提供API来进行图片的创建与修改。
我这里直接使用宝塔面板安装的,比较简单。
也可以使用源码安装。
Php > 安装扩展 > imagemagick > 安装
安装完成
命令窗口测试
php --ri imagick
4.安装ghostscript
ghostscript一款图像浏览工具,这款软件适用于Unix、Mac OS X、VMS、Windows、OS/2和Mac OS classic等操作系统的使用。Ghostscript中文版能够查看以及打印PS、EPS、PDF格式的文件
安装命令很简单
yum install ghostscript
当没有安装ghostscript 直接使用,报错:
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); }
返回结果:
打开图片
Pdf转图片成功实现,因为只有一页,如果是多页则是多张图片。