需求:經過PHP把PDF生成PNG圖片,通常用在在線閱讀瀏覽用的。 php
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腳本便可,根據需求本身修改。 web
Linux下實現:
1 下載ImageMagick-6.7.1-6 apache
wget ftp://ftp.u-aizu.ac.jp/pub/graphics/image/ImageMagick/imagemagick.org/ImageMagick.tar.gz2 解壓
# tar -xzvf ImageMagick.tar.gz
3 編譯安裝
# cd ImageMagick-6.7.1-6 # ./configure -prefix=/usr/local/imagemagick -enable-lzw -with-modules && make && make install4.查看一下
# /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.jpg6.開始裝imagick的PHP擴展(注意:安裝imagick擴展時須要PHP >= 5.1.3,ImageMagick >= 6.2.4)
7.獲取imagick(最新版本獲取:http://pecl.php.net/package/imagick) windows
# 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.解壓 ide
# tar -zxvf imagick-3.1.0RC1.tgz apt-get install php5-dev9.phpize
# cd imagick-3.1.0RC1 # phpize10.配置編譯
# ./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方式安裝 ui
1) sudo apt-get install libmagick-dev
2) sudo apt-get install php-pear php5-dev
3) sudo pecl install imagick
google
PHP代碼調用: spa
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; }