【Imagick扩展】PHP实现PDF转图片

目录

一、开启 Imagick 扩展

1、安装PHP扩展

2、复制扩展文件

3、开启扩展

4、重启apache

二、安装imagemagick

1、下载imagemagick

2、解压文件

3、添加环境变量

4、拷贝到指定目录

  5、重启Apache

三、安装Ghostscript软件

1、下载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、下载imagemagick

下载地址:windows.php.net - /downloads/pecl/deps/

2、解压文件

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

3、添加环境变量

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

4、拷贝到指定目录

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

  5、重启Apache

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

三、安装Ghostscript软件

1、下载Ghostscript

Ghostscript下载地址:Ghostscript : Downloads

四、实例

/**
     * @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;
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下页、再停留

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值