Windows+PHP7.3环境下安装imagick扩展和imagemagick将PDF/tif文件转jpg
最好跟我的PHP版本一致PHP7.3 (主要三个步骤)
1.安装imagemagick程序
2.安装ghostscript(PDF需要用到)
3.安装PHP拓展
4.代码实践
本次操作使用的软件百度云盘地址
链接:https://pan.baidu.com/s/1ARLwaYFqgxiuTj1hTtwksA
提取码:6ywm
1.安装imagemagick程序
http://windows.php.net/downloads/pecl/deps/
1.1根据PHP需求我选择这个版本 vc15的64位的
1.2把这个压缩包下载下来之后放到任意盘符。注意路径不要有中文和特殊字符。这个是可以任意放置的。
1.3然后配置环境变量。参照下图
1.4输入convert 检验 会打印 imagemagick相关信息
2.安装ghostscript(PDF需要用到)
2.1下载地址 https://www.ghostscript.com/download.html
我下载了windows64位的
默认安装即可
2.2将gswin32.exe改名成gs.exe复制到imagemagick(上面第一个安装的软件里面)的bin目录
2.3测试imagemagick软件可不可以将pdf转为jpg
运行 convert test.pdf test.jpg(报的这两个警告可以忽略)
可以看到有一个test.jpg 是 test.pdf转换来的
3.安装PHP对应imagemagick拓展
3.1下载地址
https://windows.php.net/downloads/pecl/releases/imagick/
我选择php_imagick-3.4.4rc2-7.3-nts-vc15-x64 这个64位版本
3.2将php_imagick.dll 复制到PHP的拓展中(我的是 phpstudy\Extensions\php\php7.3.4nts\ext 这个路径)
3.3php.ini 文件并打开编辑,加入extension=php_imagick.dll这一行
3.4用phpinfo()打印拓展信息 imagick存在
4.代码测试 pdf格式转png格式
$PDF = $pic_url;
if(!file_exists($PDF)){
var_dump('失败');
exit;
}
$IM =new imagick();
$IM->setResolution(120,120);
$IM->setCompressionQuality(100);
try{
$IM->readImage($PDF);
}catch (\Exception $e){
var_dump(iconv("gbk", 'utf-8',$e->getMessage()));
exit;
}
foreach($IM as $Key => $Var){
$Var->setImageFormat('png');
$Filename = $plupload_dir.'/'.md5($Key.time()).'.png';//路径
if($Var->writeImage($Filename)==true){
$Return[]= $Filename;
}
}
var_dump($Return);
4.1结果成功
文件夹中也有相应文件