PHP imagick 实现 PDF 转 图片

原创
2016/09/12 09:17
阅读数 208

1、ImageMagick 安装 官网

> tar -zxvf ImageMagick.tar.gz -C /usr/local/src/

> cd /usr/local/src/ImageMagick-7.0.3-0/

> mkdir /usr/local/imagemagick

> ./configure --prefix=/usr/local/imagemagick

> make && make install

> /usr/local/imagemagick/bin/convert -version   // 测试

2、安装 PHP 扩展 imagick 官网

> find / -name 'php-config'   //查找 php-config 位置:

> find / -name 'phpize'    //查找 phpize 位置:

> tar -zxvf imagick-3.4.1.tgz -C /usr/local/src/

> cd /usr/local/src/imagick-3.4.1/

> /usr/local/php/bin/phpize

> ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick

> make && make install 

安装完成之后,出现下面的界面,记住以下路径,下面会用到

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

增加 imagick 扩展

> vim /usr/local/php/lib/php.ini     

    extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/imagick.so

重启 PHP

> service php-fpm restart

3、安装 ghostscript (PDF转图片必备)

> yum -y install ghostscript

4、测试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;
}

$pdf = __DIR__.'/PDF/test.pdf';

$path = __DIR__.'/images';

$data = pdf2png($pdf, $path );

echo "SUCCESS";

参考来源:

http://superuser.com/questions/819277/cant-convert-pdf-into-image-because-of-no-images-defined-error

http://www.abc3210.com/2012/phper_12/55.shtml

http://www.osyunwei.com/archives/5327.html

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部