imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API.
ImageMagick是一套软件系列,主要用于图片的创建、编辑以及转换等,详细的解释见ImageMagick的官方网站http://www.imagemagick.org/,ImageMagick与GD的性能要高很多,如果是在处理大量的图片时更加能体现ImageMagick的性能。
安装 ImageMagick ( 可能需要安装一些依赖工具)
https://download.imagemagick.org/ImageMagick/download/ImageMagick.tar.gz wget ImageMagick.tar.gz cd ImageMagick.xxx ./configure --prefix=/usr/local/imagemagick make && make install
安装Imagick扩展
https://pecl.php.net/package/imagick
–with-imagick 参数就是上面的ImageMagick 安装路径
tar -zxvf imagick-3.4.4.tgz cd imagick-3.4.4 /www/server/php/71/bin/phpize ./configure --with-php-config=/www/server/php/71/bin/php-config --with-imagick=/usr/local/imagemagick make && make install php.ini修改配置 [ImageMagick] extension = "imagick.so" 重启fpm,查看配置,或phpinfo php -m
实现PDF转PNG
function pdf2png() { $pdf = '/www/wwwroot/sjyc/public/uploads/png/dhk.pdf'; $path = '/www/wwwroot/sjyc/public/uploads/png/'; if (!extension_loaded('imagick')) { echo 'no';exit; } if (!file_exists($pdf)) { echo 'no1';exit; } $im = new \Imagick(); $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; } } print_r($return);exit; return $return; }
标记一下
安装img扩展
https://www.cnblogs.com/echo-php-study/p/12482263.html
代码实现
https://blog.csdn.net/jeff_love_marina/article/details/80838055