当前位置:首页 > PHP教程 > php图像处理 > 列表

PHP实现PDF转图片的方法详解

发布:smiling 来源: PHP粉丝网  添加日期:2023-06-23 15:53:54 浏览: 评论:0 

这篇文章主要给大家介绍了关于PHP将PDF转图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

Windows环境下

一、开启 Imagick 扩展

1、安装PHP扩展:Imagick,下载地址 https://pecl.php.net/package/imagick 注意和php版本保持一致;

2、将下载下来的文件解压,把php_imagick.dll复制到php/ext下,即php的扩展目录;

3、打开php.ini文件,添加

extension=php_imagick.dll

4、重启apache

二、安装imagemagick

1、下载地址:https://windows.php.net/downloads/pecl/deps/

PHP实现PDF转图片的方法详解

2、将下载下来的imagemagick文件解压到E盘目录下(目录可根据情况调整,我这里E:\ImageMagick-7.1.0-18-vc15-x64);

3、将E:\ImageMagick-7.1.0-18-vc15-x64\bin加入到系统环境变量path中

PHP实现PDF转图片的方法详解

4、然后将E:\ImageMagick-7.1.0-18-vc15-x64\bin目录下所有的以dll结尾的文件复制到php根目录下,如果提示重复点击跳过即可

PHP实现PDF转图片的方法详解

5、复制完成后重启Apache(建议重启计算机),这时候php的imagick拓展安装完成

三、安装Ghostscript软件

1、Ghostscript下载地址:https://www.ghostscript.com/releases/gsdnld.html

PHP实现PDF转图片的方法详解

四、实例

  1. /** 
  2.      * @package pdf文档转换图片 
  3.      * @param   string      $filepath pdf文档绝对路径 D:/test/test.pdf 
  4.      * @param   string      $filename 文件夹名 每个pdf创建一个文件夹 
  5.      * @return  array 
  6.      */ 
  7.     public function pdf2png($pdf,$filename){ 
  8.  
  9.         $path = ROOT_PATH . "public". DS ."uploads". DS ."ppt_image". DS . $filename ; // 图片存放目录 
  10.            if (!file_exists($path)) { 
  11.           mkdir($path, 0700, true); //创建目录 
  12.           chmod($path, 0700); //赋予权限 
  13.         } 
  14.         $images = []; 
  15.  
  16.         $imagick = new \Imagick(); 
  17.         // 设置图片分辨率 
  18.         $imagick->setResolution(120, 120); 
  19.         // 该函数接受单个参数$quality,该参数保存一个表示图像压缩质量的整数值 
  20.         $imagick->setCompressionQuality(100); 
  21.         $imagick->readImage($pdf); 
  22.  
  23.         foreach ($imagick as $key => $val) { 
  24.             // 设置图片格式并生成png图片 
  25.             $val->setImageFormat('png'); 
  26.             // $file = $path . DIRECTORY_SEPARATOR . md5($key.time()) . '.png';    //图片名 
  27.             $file = $path . DS . md5($key.time()) . '.png';    //图片名 
  28.             if ($val->writeImage($file) === true) { 
  29.                 $images[] = $file
  30.             } 
  31.         } 
  32.         return $images
  33.     }

PHP实现PDF转图片的方法详解

Tags: PHP实现PDF转图片

分享到: