php实现PDF转图片

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