centos7系统项目中ImageMagick的安装及使用,测试案例将PDF转成图片
ImageMagick 是一个免费的创建、编辑、合成图片的软件,ImageMagick 是免费软件遵守 GPL 许可协议
依赖:
imagick扩展
ImageMagick-devel
ImageMagick-perl
CentOS7安装:
在 CentOS 中可以直接使用 Yum 进行安装,安装上面的3个依赖。
yum install -y ImageMagick ImageMagick-devel ImageMagick-perl
接着使用pecl安装扩展。
找到 PHP 安装目录下的 pecl,
例如 PHP 安装在 /usr/local/php74 目录中,则 pecl 一般在 /usr/local/php74/bin 目标中,
执行命令:
/usr/local/php74/bin/pecl install imagick
即可使用 pecl 自动下载并安装 ImageMagick,
最后在php.ini中添加:
extension=imagick.so
即可启用扩展。
检查一下扩展有没有安装成功,可以执行一下命令
php -m|grep imagick
有imagick字样,说明扩展安装成功
PDF转图片代码示例:
// 实例化imagick对象
$im = new imagick();
//用于设置图像的分辨率,
$im->setResolution(150, 150);
//设置图像的压缩质量,默认值为 0;传入的参数值应为 1-100,对于 JPG 格式图片,值越小,图像体积越小,同时清晰度也较低
//png保持默认就好了
$im->setCompressionQuality(100);
//直接加载 PDF 文件的二进制内容,也可以使用 readImage($filename) 函数读取保存好的 PDF 文件
$im->readImageBlob($fileContent);
//设置要生成的图像的格式,如 jpg,png 等
$im->setImageFormat('jpg');
//设置图像背景色为白色
$im->setImageBackgroundColor('white');
//去掉图像的 alpha 通道
$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
//将所有图像合并为一层
$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
//获取转换生成图像的二进制数据,输出到客户端供下载;
//如果需要保存到文件,可以使用 writeImage($filename) 函数。
header("Content-type: image/jpeg");
echo $im->getImageBlob();
相关文章