操作之前,先在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.ogeek.net/article/60337.htm 这篇文章。非常感谢
|
请发表评论