美文网首页PHP经验分享
windows平台php_Imagick拓展ImageMagic

windows平台php_Imagick拓展ImageMagic

作者: wxy1 | 来源:发表于2018-12-28 16:00 被阅读19次

    最近的PHP项目中,需要用到PDF转图片的功能,在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。
    严格按照以下步骤可以保证一次成功

    1 首先建议先安装Imagick拓展

    下载php_magick组件。
    http://pecl.php.net/package/imagick
    注意要选择对应版本—线程安全 和非线程安全版本 php版本64位和32位

    具体步骤

    1首先要打开phpinfo

    image.png

    2打开网址
    所选的版本红框内信息一定要与第一步的信息相同,否则会失败


    image.png

    3打开压缩包


    image.png
    第一步将红框内的文件(php_imagick.dll) 放入php的ext文件夹下
    例如:E:\phpStudy\PHPTutorial\php\php-7.1.13-nts\ext
    第二步将除红框文件外的其他文件全部移动到php的文件夹下

    例如:E:\phpStudy\PHPTutorial\php\php-7.1.13-nts\

    4修改php.ini


    image.png

    5重启本地环境
    打开phpinfo,看到imagick说明拓展安装成功


    D778C53E-636F-4b6c-8FDF-FBA7542AA26A.png

    2 安装ImageMagick拓展

    ImageMagick安装前注意:前面安装好imagick以后可以看到如下信息

    D778C53E-636F-4b6c-8FDF-FBA7542AA26A.png
    红框内信息 就是支持的ImageMagick的版本,安装其他版本同样会导致失败
    1下载ImageMagick
    http://ftp.icm.edu.pl/packages/ImageMagick/binaries/
    找到并下载
    image.png
    2安装ImageMagick
    安装好以后
    首先将安装路径添加到path环境变量
    例如:C:\Program Files (x86)\ImageMagick-6.9.3-Q16
    然后以防万一将安装目录下的.dll文件全部复制到php目录下
    例如:E:\phpStudy\PHPTutorial\php\php-7.1.13-nts
    默认全部替换即可(只要拓展和ImageMagick版本对应替换不会出问题)
    image.png
    3查看phpinfo
    以防万一 重启电脑 再启动本地环境打开phpinfo
    image.png
    看到上面的信息说明ImageMagick安装成功

    3 安装ghostscript

    1此时还不能使用PDF转图片功能
    还需要安装ghostscript


    image.png

    安装成功以后,以防万一再次重启电脑,启动本地环境
    2测试代码

    
    function pdf2png($pdf, $path)
    {
        if (!extension_loaded('imagick')) {
            return false;
        }
        if (!file_exists($pdf)) {
            return false;
        }
        $im = new Imagick();
        $im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
        $im->setCompressionQuality(100);
        $im->readImage($pdf);
        foreach ($im as $k => $v) {
            $v->setImageFormat('png');
            $fileName = $path . md5($k . time()) . '.png';
            if ($v->writeImage($fileName) == true) {
                $return[] = $fileName;
            }
        }
        return $return;
    }
    
    
    

    pdf如果比较大注意php脚本设置执行时间
    可以看到转换成功

    相关文章

      网友评论

        本文标题:windows平台php_Imagick拓展ImageMagic

        本文链接:https://www.haomeiwen.com/subject/mtzslqtx.html