搜索

查看: 3133|回复: 11

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

[复制链接]
发表于 2023-5-4 17:06:18 | 显示全部楼层 |阅读模式
Editor 2023-5-4 17:06:18 3133 11 看全部
目录
  • 一、开启 Imagick 扩展
  • 二、安装imagemagick
  • 三、安装Ghostscript软件
  • 四、实例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/

    2022122115304724.png

    2022122115304724.png


    2、将下载下来的imagemagick文件解压到E盘目录下(目录可根据情况调整,我这里E:\ImageMagick-7.1.0-18-vc15-x64);
    3、将E:\ImageMagick-7.1.0-18-vc15-x64\bin加入到系统环境变量path中

    2022122115304725.png

    2022122115304725.png


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

    2022122115304726.png

    2022122115304726.png


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

    三、安装Ghostscript软件
    1、Ghostscript下载地址:https://www.ghostscript.com/releases/gsdnld.html

    2022122115304727.png

    2022122115304727.png


    四、实例
    /**
         * @package pdf文档转换图片
         * @param   string      $filepath pdf文档绝对路径 D:/test/test.pdf
         * @param   string      $filename 文件夹名 每个pdf创建一个文件夹
         * @return  array
         */
        public function pdf2png($pdf,$filename){
            $path = ROOT_PATH . "public". DS ."uploads". DS ."ppt_image". DS . $filename ; // 图片存放目录
               if (!file_exists($path)) {
              mkdir($path, 0700, true); //创建目录
              chmod($path, 0700); //赋予权限
            }
            $images = [];
            $imagick = new \Imagick();
            // 设置图片分辨率
            $imagick->setResolution(120, 120);
            // 该函数接受单个参数$quality,该参数保存一个表示图像压缩质量的整数值
            $imagick->setCompressionQuality(100);
            $imagick->readImage($pdf);
            foreach ($imagick as $key => $val) {
                // 设置图片格式并生成png图片
                $val->setImageFormat('png');
                // $file = $path . DIRECTORY_SEPARATOR . md5($key.time()) . '.png';    //图片名
                $file = $path . DS . md5($key.time()) . '.png';    //图片名
                if ($val->writeImage($file) === true) {
                    $images[] = $file;
                }
            }
            return $images;
        }

    2022122115304728.png

    2022122115304728.png


    2022122115304729.png

    2022122115304729.png


    到此这篇关于PHP实现PDF转图片的方法详解的文章就介绍到这了,更多相关PHP PDF转图片内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持知鸟论坛
  • 回复

    使用道具 举报

    发表于 2023-6-28 18:49:24 | 显示全部楼层
    dxf17 2023-6-28 18:49:24 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-28 23:56:35 | 显示全部楼层
    普通人物怨 2023-6-28 23:56:35 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-6-29 10:42:04 | 显示全部楼层
    落败的青春阳落s 2023-6-29 10:42:04 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    回复

    使用道具 举报

    发表于 2023-6-29 23:13:29 | 显示全部楼层
    123456809 2023-6-29 23:13:29 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-6-29 23:52:32 | 显示全部楼层
    我的苦恼冉 2023-6-29 23:52:32 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    回复

    使用道具 举报

    发表于 2023-7-1 00:03:24 | 显示全部楼层
    心随674 2023-7-1 00:03:24 看全部
    我看不错噢 谢谢楼主!知鸟论坛越来越好!
    回复

    使用道具 举报

    发表于 2023-7-3 18:19:34 | 显示全部楼层
    向往草原403 2023-7-3 18:19:34 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    回复

    使用道具 举报

    发表于 2023-7-3 23:43:43 | 显示全部楼层
    戏做顿 2023-7-3 23:43:43 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    发表于 2023-7-6 04:46:53 | 显示全部楼层
    当当当当裤裆坦 2023-7-6 04:46:53 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    • 您可能感兴趣
    点击右侧快捷回复 【请勿灌水】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| SiteMap| 小黑屋| 知鸟论坛
    联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表