imagick处理pdf文件

yang
2021-06-30 / 0 评论 / 18 阅读 / 正在检测是否收录...

碰到项目需要将pdf转为图片 或者 把pdf切分为多张图片

宝塔找到对应的php版本,安装imagick

function pdf2png($pdf,$path,$page=-1)
{
    if(!extension_loaded('imagick'))
    {
        return false;
    }
    if(!file_exists($pdf))
    {
        return false;
    }
    if(!is_readable($pdf))
    {
        return false;
    }
    $im = new \Imagick();
    $im->setResolution(150,150);
    $im->setCompressionQuality(100);
    if($page==-1)
        $im->readImage($pdf);
    else
        $im->readImage($pdf."[".$page."]");
    $i=0;
    foreach ($im as $Key => $Var)
    {
        $Var->setImageFormat('png');
        $filename = $path. 'page_'.$i.'.png';
        if($Var->writeImage($filename) == true)
        {
            $Return[] = $filename;
        }
        $i++;
    }
    //返回转化图片数组,由于pdf可能多页,此处返回二维数组。
    return $Return;
}

当出现这样的错误 ,需要安装ghostscript扩展
Uncaught exception 'ImagickException' with message 'Failed to read the file'

yum install -y ghostscript
0

评论 (0)

取消