centos系统
php7.0.3
一:安装ImageMagick-devel
yum install ImageMagick-devel
二:安装imagick扩展
cd /usr/local/
#下载
wget http://pecl.php.net/get/imagick-3.4.3RC1.tgz
#解压
tar -zxvf imagick-3.4.3RC1.tgz
#安装PHP imsgick扩展
cd imagick-3.4.3RC1
#phpize
/usr/local/php/bin/phpize
#配置
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/src/imagick-3.4.3RC1
#安装
make && make install
#出现以下代表安装php扩展成功
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
Installing header files: /usr/local/php/include/php/
#配置php.ini
vim /usr/local/php/etc/php.ini
#增加
extension=imagick.so
#重启web服务或者php-fpm
service php-fpm restart
#测试
php -r ‘phpinfo();‘ | grep imagick
三、安装 ghostscript (PDF转图片必备)
> yum -y install ghostscript
四:测试例子:
/**
* 将pdf文件转化为多张png图片
* @param string $pdf pdf所在路径 (/www/pdf/abc.pdf pdf所在的绝对路径)
* @param string $path 新生成图片所在路径 (/www/pngs/)
*
* @return array|bool
*/
function pdf2png($pdf, $path)
{
if (!extension_loaded(‘imagick‘)) {
return false;
}
if (!file_exists($pdf)) {
return false;
}
$im = new Imagick();
// $im->setImageFormat("PNG");
$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;
}