PHP 实现 PDF 转图片


利用 Imagick 库实现 PDF 转图片

function pdf2png($pdf, $path = '')
{
    if (!extension_loaded('imagick')) {
        throw new \Exception("需要安装 Imagick 扩展", 1001);
    }
    if (!file_exists($pdf)) {
        throw new \Exception("PDF 文件未找到", 1002);
    }
    $imagick = new \Imagick();
    $imagick->setResolution(200, 200);
    $imagick->setCompressionQuality(100);
    $imagick->readImage($pdf);
    foreach ($imagick as $k => $v) {
        $v->setImageFormat('png');
        $filename = $path . '/' . $k . '.png';
        if ($v->writeImage($filename)) {
            $return[] = $filename;
        }
    }
    return $return;
}

Imagick 常用的方法总结

方法名功能注释
setResolution设置图像分辨率数字越大图片越清晰,图片尺寸也越大
setCompressionQuality设置图片质量可选值 0-100