温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中pdf转换成图片的方法

发布时间:2020-09-01 15:05:25 来源:亿速云 阅读:405 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关php中pdf转换成图片的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

php pdf转换成图片的方法:首先下载PHP的DLL扩展;然后把下载好的DLL改名成“php_imagick.dll”;接着修改“php.ini”;最后安装“ghostscript.exe”并执行PHP脚本即可。

php中pdf转换成图片的方法

PHP利用ImageMagick把PDF转成PNG

一、Windows下实现

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

里面有用于PHP不同的版本DLL,要注意和你的版本相同。

把下载好的DLL改名成 php_imagick.dll(我是下载的php_imagick_dyn-Q16.dll)然后放入到PHP安装目录中的EXT。

修改php.ini 增加 "extension=php_imagick.dll" 不包含双引号哦!

重启apache后写个phpinfo后搜索“imagick”关键字,有的话就代表安装好了。

最后要安装ghostscript.exe,要不然会报错的。下载地址:http://downloads.ghostscript.com/public/gs904w32.exe

最后执行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、测试一下(convert默认安装到了/usr/local/bin下面,上面的命令可能提示找不到convert命令,那么可以在/usr/bin下面创建  一个 到/usr/local/bin/convert的链接:)

# cd /usr/bin
           
# ln -s /usr/local/bin/convert convert
           
# convert -version

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

9、phpize

# cd imagick-3.1.0RC1
           
# phpize (根据自己的路径来)

注意:运行/usr/local/webserver/php/bin/phpize时出现:

Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 
       
220060519 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF 
        
environment variable. Then, rerun this script.

根据网上的解决办法是:

# cd /usr/src 
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz 
          
# tar -zvxf m4-1.4.9.tar.gz 
          
# cd m4-1.4.9
          
# ./configure && make && make install 
          
# cd ../ 
         
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz 
          
# tar -zvxf autoconf-2.62.tar.gz 
          
# cd autoconf-2.62/ 
          
# ./configure && make && make install
          
或者
          
# yum install m4 yum install autoconf

10、配置编译

#./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
# make
# make install
可能会出错,因为版本升级,文件夹结构少许变动,我们创建一下软连接:
# ln -s /usr/local/imagemagick/include/ImageMagick-6 /usr/local/imagemagick/include/ImageMagick
若是报这样的错误:make: *** [imagick_file.lo] Error 1则定位PKG_CONFIG export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig
#./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
注意:编译成功后会在php 扩展目录生成imagick.so,然后再php.ini里面 例如: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/imagick.so
加上extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/imagick.so
注意版本问题:不然会报make: *** [imagick_class.lo] Error 1  等类似错误。

11、重启apache

#service httpd restart

使用PECL方式安装

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

三、PHP代码调用

<?php
function pdf2png($PDF,$Path){
       if(!extension_loaded('imagick')){
           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('png');
           $Filename = $Path.'/'.md5($Key.time()).'.png';
           if($Var->writeImage($Filename)==true){
               $Return[]= $Filename;
           }
       }
       return $Return;
    }

感谢各位的阅读!关于php中pdf转换成图片的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI