PHP实现PDF转换成图片

发布日期: 2021-06-30 15:21:41 作者: Stephen 评论: 0

ImageMagick 是一个图象处理软件,也可以作为PHP的一个扩展来使用。它可以编辑、显示包括JPEG、TIFF、PNM、PNG、GIF和Photo CS在内的绝大多数当今最流行的图象格式。你可以改变图象尺寸、旋转、锐化、减少颜色或加入特殊效果到图象里,并且能够以另一种图象格式保存。

同时,也可以实现将PDF转换为图片。

安装Imagick扩展

安装步骤:《PHP安装Imagick扩展

配置ImageMagick

修改 /etc/ImageMagick-6/policy.xml ,在 </policymap> 前新增一行:

<policy domain="coder" rights="read | write" pattern="PDF" />

实现

$pdf = 'storage/test.pdf'; // PDF文件路径
$path = 'storage'; // 图片存放目录
$images = [];

$imagick = new \Imagick();
// 设置图片分辨率
$imagick->setResolution(120, 120);
// 该函数接受单个参数$quality,该参数保存一个表示图像压缩质量的整数值
$imagick->setCompressionQuality(100);
$imagick->readImage($pdf);

foreach ($imagick as $key => $val) {
    // 设置图片格式并生成png图片
    $val->setImageFormat('png');
    $file = $path . DIRECTORY_SEPARATOR . md5($key.time()) . '.png';
    if ($val->writeImage($file) === true) {
        $images[] = $file;
    }
}

快来抢沙发