您好,欢迎访问一九零五行业门户网

php如何实现pdf转换成图片

php实现pdf转换成图片的方法:首先安装好“ghostscript”;然后使用imagick把pdf转成图片即可。
推荐:《php视频教程》
php中使用imagick实现把pdf转成图片
php manual里,对imagick的描述,真的是简洁,每个成员函数,点击打开就看到如下文本:
warningthis function is currently not documented; only its argument list is available.
刚才解决了php加载问题后,对图片的处理相当方便,网上随便找了一段:
<?phpheader("content-type: image/jpeg"); /*** 缩小图片尺寸.** @param $image 待处理的二进制图片* @param $width 处理后图片尺寸的宽度(px)* @param $height 处理后图片尺寸的高度(px)* @param $crop 是否裁剪图片** @return 处理好的二进制图片*/function resize($image, $width, $height, $crop){ $imagick = new imagick($image); $w = $imagick->getimagewidth(); $h = $imagick->getimageheight(); if ($w > $width || $h > $height) { if ($crop) { $imagick->cropthumbnailimage($width, $height); } else { $imagick->resizeimage($width, $height, imagick::filter_lanczos, 1, true); } } $processed_image = $imagick->getimageblob(); return $processed_image;}$s=resize("123.jpg", 60, 40, 1);echo $s;?>
但我要用这个扩展做的,是将pdf转成png。pdf哦!
<?php/*** 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)) { return false; } $im = new imagick(); $im->setresolution(120,120); $im->setcompressionquality(100); if($page==-1) $im->readimage($pdf); else $im->readimage($pdf."[".$page."]"); foreach ($im as $key => $var) { $var->setimageformat('png'); $filename = $path."/". md5($key.time()).'.png'; if($var->writeimage($filename) == true) { $return[] = $filename; } } return $return; } $path="images";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了$s=pdf2png("test.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 height=120 width=90 src="".$s[$i].""></a></div><p>";}?>
跟上面的差不多吧?可是总是不成功,readimage那边异常了,查看错误输出:
php fatal error: uncaught exception 'imagickexception' with message 'postscriptdelegatefailed `test.pdf': no such file or directory'
百度谷歌了好久,最后灵机一动,不是说postscript么?我找,我装。
这个postscript,其实是ghostscript。
装好后,一跑,ok啦!
以上就是php如何实现pdf转换成图片的详细内容。
其它类似信息

推荐信息