Home > php教程 > PHP源码 > PHP利用imagick把PDF转成PNG

PHP利用imagick把PDF转成PNG

PHP中文网
Release: 2016-06-01 14:33:00
Original
1875 people have browsed it

需求:通过PHP把PDF生成PNG图片,一般用在在线阅读浏览用的。


Windows下实现:
1.PHP的DLL扩展下载地址:http://www.php.cn/
2.里面有用于PHP不同的版本DLL,要注意和你的版本相同
3.把下载好的DLL改名成 php_imagick.dll(我是下载的php_imagick_dyn-Q16.dll)然后放入到PHP安装目录中的EXT。
4.修改php.ini 增加 "extension=php_imagick.dll" 不包含双引号哦!
5.重启apache后写个phpinfo后搜索“imagick”关键字,有的话就代表安装好了。
6.最后要安装ghostscript.exe,要不然会报错的。下载地址:http://www.php.cn/
7.最后执行PHP脚本即可,根据需求自己修改。


Linux下实现:
1 下载ImageMagick-6.7.1-6

wget ftp://ftp.u-aizu.ac.jp/pub/graphics/image/ImageMagick/imagemagick.org/ImageMagick.tar.gz
Copy after login

2 解压<br/>

# tar -xzvf ImageMagick.tar.gz
Copy after login

3 编译安装<br/>

# cd  ImageMagick-6.7.1-6# ./configure -prefix=/usr/local/imagemagick -enable-lzw -with-modules && make && make install
Copy after login

4.查看一下<br/>

# /usr/local/imagemagick/bin/convert -version
Copy after login

5.测试一下<br/>

# pwd/root/test/ImageMagick-6.7.1-6# cd images/# /usr/local/imagemagick/bin/convert -sample 25%x25% wizard.jpg test.jpg
Copy after login

6.开始装imagick的PHP扩展(注意:安装imagick扩展时需要PHP >= 5.1.3,ImageMagick >= 6.2.4)<br/>

7.获取imagick(最新版本获取:http://www.php.cn/)<br/>

# wget http://www.php.cn/
Copy after login

http://www.php.cn/

8.解压<br/>

# tar -zxvf imagick-3.1.0RC1.tgzapt-get install php5-dev
Copy after login

9.phpize<br/>

# cd imagick-3.1.0RC1# phpize
Copy after login

10.配置编译

# ./configure --with-php-config=/opt/modules/php5.3.5/bin/php-config --with-imagick=/usr/local/imagemagick
Copy after login
# make&&make install
Copy after login

可能会出错,因为版本升级,文件夹结构少许变动,我们创建一下软连接:

ln -s /usr/local/imagemagick/include/ImageMagick-6 /usr/local/imagemagick/include/ImageMagick<br/>

若是报这样的错误:make: *** [imagick_file.lo] Error 1则

定位PKG_CONFIG export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig<br/>

再configure

注意:编译成功后会在php 扩展目录生成imagick.so,然后再php.ini里面 加上“extension="/usr/lib/php5/20090626+lfs/imagick.so"”<br/>

注意版本问题:不然会报make: *** [imagick_class.lo] Error 1 等类似错误。

11.重启apache

/etc/init.d/apache2 restart
Copy after login

12.也可以使用PECL方式安装

1) sudo apt-get install libmagick-dev<br/>2) sudo apt-get install php-pear php5-dev<br/>3) sudo pecl install imagick<br/>

PHP代码调用:

function pdf2png($PDF,$Path){
   if(!extension_loaded(&#39;imagick&#39;)){
       returnfalse;
   }
   if(!file_exists($PDF)){
       returnfalse;
   }
   $IM =new imagick();
   $IM->setResolution(120,120);
   $IM->setCompressionQuality(100);
   $IM->readImage($PDF);
   foreach($IM as $Key => $Var){
       $Var->setImageFormat(&#39;png&#39;);
       $Filename = $Path.&#39;/&#39;.md5($Key.time()).&#39;.png&#39;;
       if($Var->writeImage($Filename)==true){
           $Return[]= $Filename;
       }
   }
   return $Return;}
Copy after login
<br/>
Copy after login
转载请注明:PHP利用ImageMagick把PDF转成PNG   (http://www.php.cn/)
Copy after login

 以上就是PHP利用imagick把PDF转成PNG的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template