PHP 实现PDF转图片
目录
1.环境配置:
2.实现原理:
3.安装php扩展imagick
4.安装ghostscript
5.pdf转图片
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转图片成功实现,因为只有一页,如果是多页则是多张图片。