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 相关文章推荐
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
php设计模式之命令模式的应用详解
May 21 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 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
一步一步学习PHP(8) php 数组
2010/03/05 PHP
深入PHP curl参数的详解
2013/06/17 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
两款万能的php分页类
2015/11/12 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
2017/02/20 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
vue父子组件通信的高级用法示例
2019/08/29 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python-接口开发入门解析
2019/08/01 Python
python类中super() 的使用解析
2019/12/19 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
python中的列表和元组区别分析
2020/12/30 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
汽车检测与维修专业求职信
2013/10/30 职场文书
高二地理教学反思
2014/01/24 职场文书
建党伟业电影观后感
2015/06/01 职场文书
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL