首页 > PHP学习 > phppdf转换成图片的方法-PHP问题

phppdf转换成图片的方法-PHP问题

时间:2022年7月23日 分类:PHP学习 浏览量:281

php pdf转换成图片的方法:首先下载“ImageMagick-6.7.1-6”;然后进行编译安装;接着安装imagick的PHP扩展;最后通过PHP代码调用即可。

PHP利用imagick把PDF转成PNG

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

Windows下实现:

1.PHP的DLL扩展下载地址:http://valokuva.org/outside-blog-content/imagick-windows-builds/

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://downloads.ghostscript.com/public/gs904w32.exe

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

2 解压

# tar -xzvf ImageMagick.tar.gz

3 编译安装

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

4.查看一下

# /usr/local/imagemagick/bin/convert -version

5.测试一下

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

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

7.获取imagick(最新版本获取:http://pecl.php.net/package/imagick)

# wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz http://code.google.com/p/lnamp-web-server/downloads/detail?name=imagick-3.1.0b1.tgz&can=2&q=label%3Aimagick

8.解压

# tar -zxvf imagick-3.1.0RC1.tgz apt-get install php5-dev

9.phpize

# cd imagick-3.1.0RC1 # phpize

10.配置编译

# ./configure # make&&make install

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

11.重启apache

/etc/init.d/apache2 restart

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

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

PHP代码调用:

function pdf2png($PDF,$Path){ if(!extension_loaded('imagick')){ return false; } if(!file_exists($PDF)){ return false; } $IM = new imagick(); $IM->setResolution(120,120); $IM->setCompressionQuality(100); $IM->readImage($PDF); foreach ($IM as $Key => $Var){ $Var->setImageFormat('png'); $Filename = $Path.'/'.md5($Key.time()).'.png'; if($Var->writeImage($Filename) == true){ $Return[] = $Filename; } } return $Return; }

以上就是php pdf转换成图片的方法的详细内容,

觉得文章有用就打赏一下文章作者

微信扫一扫打赏