zoukankan      html  css  js  c++  java
  • php(thinkphp)在linux系统下pdf转png图片【转】

    PHP)中使用imagick实现把PDF转成图片

    操作之前,先在linux服务器安装 ghostscript

    650 2017-06-17 13:31:20 root cd ./soft
    651 2017-06-17 13:31:25 root wget http://ghostscript.com/releases/ghostscript-8.71.tar.gz
    652 2017-06-17 13:41:14 root tar zxvf ghostscript-8.71.tar.gz
    653 2017-06-17 13:41:26 root cd ghostscript-8.71
    654 2017-06-17 13:41:37 root ./configure --prefix=/usr
    655 2017-06-17 13:42:06 root mkdir obj
    656 2017-06-17 13:42:15 root mkdir bin
    657 2017-06-17 13:42:23 root make all
    658 2017-06-17 13:45:29 root make install

    然后重启一下:

    use Imagick;
    /**
    * PDF2PNG
    * @param $pdf 待处理的PDF文件
    * @param $path 待保存的图片路径
    * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页
    * @return 保存好的图片路径和文件名
    */
    function pdf2png($pdf,$path,$page=-1)
    {
    if(!extension_loaded('imagick'))
    {
    return false;
    }
    if(!file_exists($pdf))
    {
    echo dirname($pdf);
    echo "file not exit";
    return false;
    }

    $im = new Imagick();


    $im->setResolution(120,120);
    $im->setCompressionQuality(100);
    try {
    if($page==-1){
    $im->readImage($pdf);
    }else{
    $im->readImage($pdf."[".$page."]");
    }
    } catch (Exception $e) {
    Log::notice($e->getMessage());
    }
    foreach ($im as $Key => $Var)
    {
    $Var->setImageFormat('png');
    $filename = $path."/". md5($Key.time()).'.png';
    if($Var->writeImage($filename) == true)
    {
    $Return[] = $filename;
    }
    }
    return $Return;
    }

    function cpdf2png()
    {
    $path="public/files";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了
    $s=self::pdf2png("public/files/bp/36.pdf",$path);
    $scount=count($s);
    for($i=0;$i<$scount;$i++)
    {
    echo "<div align=center><font color=red>Page ".($i+1)."</font><br><a href="".$s[$i]."" target=_blank><img border=3 src="".$s[$i].""></a></div><p>";
    }
    }

    完全是参考:http://www.jb51.net/article/60337.htm 这篇文章。非常感谢

  • 相关阅读:
    谷歌地图地理解析和反解析geocode.geocoder详解(转)
    Html5 Geolocation获取地理位置信息(转)
    利用单片机快速实现家庭智能控制平台
    邪恶改装:TPYBoard制作廉价WIFI干扰器
    [TPYBoard
    [TPYBoard
    [TPYBoard
    python中的subprocess.Popen()使用
    KVM虚拟机的xml配置文件
    Linux LVM 总结
  • 原文地址:https://www.cnblogs.com/lippor/p/7040085.html
Copyright © 2011-2022 走看看