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模板页面中分页代码的解析

在使用模板的时候,会遇到这么一个问题:显示分页信息时操作麻烦,n多个模板都有分页块。 例如: ---共 20 条记录,当前 3/5 页 首页 上一页 下一页 尾页 GO----- 初遇到...

PHP简单实现循环链表功能示例

PHP简单实现循环链表功能示例

本文实例讲述了PHP简单实现循环链表功能。分享给大家供大家参考,具体如下: 概述: 循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。...

PHP观察者模式实例分析【对比JS观察者模式】

本文实例讲述了PHP观察者模式。分享给大家供大家参考,具体如下: 1.用js实现观察者模式 <!DOCTYPE html> <html> <head&g...

php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天...

php中将html中的br换行符转换为文本输入中的换行符

下面这几个方法将能够帮你解决这个问题。 PHP版将html中的<br />换行符转换为文本框中的换行符: 复制代码 代码如下:function br2nl($text){&n...