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


Posted in PHP onJanuary 21, 2015

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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
PHP 高手之路(一)
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
php初始化对象和析构函数的简单实例
Mar 11 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
php中使用sftp教程
Mar 30 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP实现linux命令tail -f
Feb 22 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
微信支付开发订单查询实例
Jul 12 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 #PHP
PHP中让curl支持sock5的代码实例
Jan 21 #PHP
PHP中使用break跳出多重循环代码实例
Jan 21 #PHP
PHP获取数组最后一个值的2种方法
Jan 21 #PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 #PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 #PHP
php实现excel中rank函数功能的方法
Jan 20 #PHP
You might like
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php判断变量类型常用方法
2012/04/24 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php查看网页源代码的方法
2015/03/13 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
Js面试算法详解
2018/04/08 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
Windows下安装python2.7及科学计算套装
2015/03/05 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
社区安全生产月活动总结
2014/07/05 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
群教个人对照检查材料
2014/08/20 职场文书
个人委托书范本
2014/09/13 职场文书
2014年销售员工作总结
2014/12/01 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
工商行政处罚决定书
2015/06/24 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis