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,记得重启。