PHP中使用Imagick读取pdf并生成png缩略图实例

yipeiwu_com6年前PHP代码库

pdf生成png首页缩略图 (服务器需要支持Imagick) 

复制代码 代码如下:
 
/**
* PDF2PNG   
* @param $pdf  待处理的PDF文件
* @param $path 待保存的图片路径
* @param $page 待导出的页面 -1为全部 0为第一页 1为第二页
* @return      保存好的图片路径和文件名
*/ 
 function pdf2png($pdf,$path,$page=0) 
{   
   if(!is_dir($path)) 
   { 
       mkdir($path,true); 
   } 
   if(!extension_loaded('imagick')) 
   {   
     echo '没有找到imagick!' ; 
     return false; 
   }   
   if(!file_exists($pdf)) 
   {   
      echo '没有找到pdf' ; 
       return false;   
   }   
   $im = new Imagick();   
   $im->setResolution(120,120);   //设置图像分辨率 
   $im->setCompressionQuality(80); //压缩比 
 
   $im->readImage($pdf."[".$page."]"); //设置读取pdf的第一页 
   //$im->thumbnailImage(200, 100, true); // 改变图像的大小 
   $im->scaleImage(200,100,true); //缩放大小图像 
   $filename = $path."/". time().'.png'; 
 
   if($im->writeImage($filename) == true) 
   {   
      $Return  = $filename;   
   }   
   return $Return;   
}   
 
$s=pdf2png('file/1371273225-ceshi_ppt.pdf','images');  
echo "<div align=center><img src=\"".$s."\"></div>"; 

相关文章

PHP字符串的递增和递减示例介绍

今天看到php手册上有这么一段话: “在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a 变成...

PHP实现的浏览器检查类

本文实例讲述了PHP实现的浏览器检查类。分享给大家供大家参考,具体如下: <?php //原作者:epsilon7 //SonyMusic([email]sonymus...

PHP面向对象五大原则之依赖倒置原则(DIP)详解

本文实例讲述了PHP面向对象五大原则之依赖倒置原则(DIP)。分享给大家供大家参考,具体如下: 什么是依赖倒置呢?简单地讲就是将依赖关系倒置为依赖接口,具体概念如下: 1.上层模块不应该...

PHP操作文件方法问答

PHP操作文件问答  前言:  PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的...

Laravel中log无法写入问题的解决

前言 账号登录报500错误,也没有返回错误信息,没办法只能使用原始方法,到现在一行一行打印。到 Log::info() 后面就无法正常显示了,那么问题就找到了。 导致无法写入日志的问题,...