• 技术文章 >后端开发 >PHP问题

    php pdf如何转换成图片

    藏色散人藏色散人2020-08-31 09:36:35原创595

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

    推荐:《PHP视频教程

    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如何转换成图片的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php pdf
    上一篇:如何解决php无法定位输入点的问题 下一篇:php转换为二进制的实现方法
    大前端线上培训班

    相关文章推荐

    • linux平台PHP实现word转pdf的方法• php如何实现openoffice转pdf• php office如何转 pdf• 爬取微信公众号文章并保存为PDF文件(Python方法)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网