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 相关文章推荐
phpfans留言版用到的install.php
Jan 04 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
php使用explode()函数将字符串拆分成数组的方法
Feb 17 PHP
Zend Framework教程之Zend_Config_Xml用法分析
Mar 23 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 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
检测png图片是否完整的php代码
2010/09/06 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
Python I/O与进程的详细讲解
2019/03/08 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
培训主管岗位职责
2014/02/01 职场文书
党员承诺书范文
2014/05/19 职场文书
高中班级口号
2014/06/09 职场文书
党员个人总结范文
2015/02/14 职场文书
学校国庆节活动总结
2015/03/23 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang