当前位置:  编程技术>php

PHP使用imagick读取PDF生成png缩略图的两种方法

    来源: 互联网  发布时间:2014-08-26

    本文导语:  一、ImageMagick是什么ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的...

一、ImageMagick是什么
ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。
二、php_imagick什么
一个可以供PHP调用ImageMagick功能的PHP扩展。使用这个扩展可以使PHP具备和ImageMagick相同的功能。
三、PDF生成png缩略图的两种方法
第一种:
代码如下:
/**
* 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 '
';

第二种:
代码如下:
function pdf2png($PDF,$Path){
   if(!extension_loaded('imagick')){
     return false;
   }
   if(!file_exists($PDF)){
     return false;
   }
   $IM = new imagick();
   $IM->setResolution(120,120);
   $IM->setCompressionQuality(100);
   $IM->readImage($PDF);
   foreach ($IM as $Key => $Var){
     $Var->setImageFormat('png');
     $Filename = $Path.'/'.md5($Key.time()).'.png';
     if($Var->writeImage($Filename) == true){
       $Return[] = $Filename;
     }
   }
   return $Return;
}

    
 
 

您可能感兴趣的文章:

  • PHP 图片缩略图库 PHPThumb
  • php生成缩略图填充白边(等比缩略图方案)
  • PHP实现生成透明背景的PNG缩略图函数分享
  • php获取exif图片缩略图的例子
  • PHP等比例缩放图片生成缩略图函数的例子
  • PHP中使用FFMPEG获取视频缩略图和视频总时长实例
  • php按百分比生成缩略图的代码分享
  • PHP图片等比例缩放生成缩略图函数分享
  • php利用GD库生成缩略图示例
  • php gd库实现服务端图片裁剪与缩略图
  • php GD库生成缩略图的例子
  • php缩略图填充白边的示例代码
  • 使用gd库实现php服务端图片裁剪和生成缩略图功能分享
  • php生成缩略图示例代码分享(使用gd库实现)
  • PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
  • php GD库生成高质量缩略图(示例)
  • php图片裁剪与缩略图示例
  • php 根据url自动生成缩略图并处理高并发问题
  • php实现上传图片生成缩略图示例
  • php根据url自动生成缩略图(附源码)
  • php中session_id()函数详细介绍,会话id生成过程及session id长度
  • PHP源码自动生成插件 PHP Source Plugin
  • php生成订单号的类 php订单号生成代码
  • php微博短网址算法 php生成短网址的实现代码
  • PHP 对象生成器 POG
  • php生成短网址 仿微博短网址生成代码
  • php生成数组与php全组合算法
  • 生成假数据的PHP库 Faker
  • php生成唯一标识符的代码
  • PHP代码生成器 PHPGEN
  • php guid生成函数 php生成唯一标识符
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php读取文件内容并清空文件
  • php读取文本内容到二维数组
  • php逐行读取文件示例
  • php读取富文本的时p标签会出现红线是怎么回事
  • PHP按行读取文件时如何删除换行符
  • php如何读取3389端口
  • php读取mysql入门实例
  • php读取3389的脚本
  • php读取(打开)csv文件的小例子
  • php读取sqlite数据库入门实例
  • php读取mysql数据库入门实例
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • PHP读取文件内容后清空文件示例代码
  • PHP按行读取文件时删除换行符的3种方法
  • php读取与下载csv文件的示例代码
  • php读取csv实现csv文件下载功能
  • PHP读取与写入文件小例子
  • 按行读取文件的代码(php、c实现)
  • php读取目录所有文件信息dir示例
  • php读取csv、写入csv与导出csv文件
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3