PHP pdf 转 png

    技术2022-07-15  88

    1.准备工作

    php版本7.2.25 ntswin10php_imagick-3.4.4-7.2-nts-vc15-x86 扩展gs952w32.exeImageMagick-7.0.10-22-Q16-x86-dll.exe   安装ImageMagick软件

    2.安装扩展

     

    php_imagick.dll 放入php所在的ext目录下其他文件全部放在ext的父文件夹下php.ini 下加入代码 extension=php_imagick.dll 重启服务

    查看扩展

    Microsoft Windows [版本 10.0.16299.1087] (c) 2017 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>php -m [PHP Modules] bcmath calendar Core ctype curl date dom exif fileinfo filter gd gettext gmp hash iconv imagick imap intl json ldap libxml mbstring mongodb mysqli mysqlnd odbc openssl pcre PDO pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite Phar readline Reflection session SimpleXML sockets SPL standard tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules]

    3.安装ImageMagick软件

    官网的下载地址:http://www.imagemagick.org/script/download.php

    注意:官网的地址截止目前只有7.0版本以上的下载,如果需要低版本的可以私信我

    正常安装

    4.安装ghostscript.exe

    下载地址:http://downloads.ghostscript.com/public/gs904w32.exe

    5.代码效果

    function pdf2png($pdf,$path,$page=-1) { if(!extension_loaded('imagick')) { return false; } if(!file_exists($pdf)) { return false; } $im = new \Imagick(); $im->setResolution(120,120); $im->setCompressionQuality(100); if($page==-1) $im->readImage($pdf); else $im->readImage($pdf."[".$page."]"); foreach ($im as $Key => $Var) { $Var->setImageFormat('png'); $filename = $path."/". md5($Key.time()).'.png'; if($Var->writeImage($filename) == true) { $Return[] = $filename; } } return $Return; } $pdf = 'C:\Users\Administrator\Desktop\label\DPD.pdf'; $s = pdf2png($pdf,DIR_STORAGE.'/rma_excel/');

     

    6.注意点

    这东西坑的很,本质上调的是ImageMagick Display的接口特别要注意php版本和ImageMagick的匹配,phpinfo中会给出需要安装的软件版本一旦遇到readImage的报错,千万要安装ghostscript.exe,记得重启
    Processed: 0.016, SQL: 9