本文以windows7+php5.3为例(php5.5以上版本教程及资源网上多):
所需资源(imagick + GPL Ghostscript + vc9):链接:https://pan.baidu.com/s/1mj0Sa84 密码:zlzr
开发步骤:
根据php版本下载对应的ImageMagick版本,php5.3对应的imagick版本是6.8-6.9,
1. 安装ImageMagick
安装时,路径中不能出现空格比如D:Program Files (x86)ImageMagick 这样是错误的。建议安装目录为D:\ImageMagick,使用默认选项安装即可。
安装完成后,检查D:\ImageMagick是否加添加到了环境变量。
检查方法:计算机(我的电脑)-> 右键属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量 -> Path
然后选中Path,点击编辑,查看ImageMagick安装路径是否在变量值中,如果没有,请添加进去,注意用英文的分号分隔:
2. 把下载下来的php_imagick.dll放到php 扩展文件目录 php/ext 中。
3. 在 php.ini 配置文件中添加,extension=php_imagick.dll。
4. 将ImageMagick安装目录下的这些文件拷贝到php根目录下
5. 重启电脑,只重启apache不管用的情况下,重启下PC。因为扩展底层使用的是imageMagic软件,所以软件重启电脑,重新加载软件,并刷新path路径。
6. 重启后,打开 phpinfo页面,查看,扩展已经安装成功。如果还未安装成功,极有可能imagemagick软件版本过高,请选择更低一级的版本安装。
7. 安装GPL GhostScript(很多时候都忘了这步,会导致readImage那边异常了)
8. PHP将PDF转成PNG的后台代码(可以根据自己需求进行改动):
<?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>"; } ?>
(码字不易,且看且珍惜!如有错误,请多多指教!)