当前位置:首页 > PHP教程 > php图像处理 > 列表

php利用Imagick把pdf生成png缩略图

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-18 15:14:43 浏览: 评论:0 

缩略图如果是图片我们直接使用php gD库就可实现了,本文章要介绍的是Imagick把pdf生成png缩略图方法,这里我们要利用一个插件了,下面我来给大家演示一个实例.

php_imagick什么

一个可以供PHP调用ImageMagick功能的PHP扩展,使用这个扩展可以使PHP具备和ImageMagick相同的功能.

ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF,JPEG,GIF,PNG,PDF以及PhotoCD等格式,利用ImageMagick,你可以根据web应用程序的需要动态生成图片,还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存.

php_imagick怎么用

.创建一个缩略图并显示出来,代码如下:

  1. <?php 
  2. header('Content-type: image/jpeg'); 
  3. $image = new Imagick('image.jpg'); 
  4. // If 0 is provided as a width or height parameter,// aspect ratio is maintained 
  5. $image->thumbnailImage(100, 0); 
  6. //开源代码phpfensi.com 
  7. echo $image
  8. ?> 

缩略GIF动画图片,代码如下:

  1. <?php 
  2.  
  3. /* Create a new imagick object and read in GIF */ 
  4.  
  5. $im = new Imagick("example.gif"); 
  6.  
  7. /* Resize all frames */ 
  8.  
  9. foreach ($im as $frame) { 
  10.  
  11. /* 50x50 frames */ 
  12.  
  13. $frame->thumbnailImage(50, 50); 
  14.  
  15. /* Set the virtual canvas to correct size */ 
  16.  
  17. $frame->setImagePage(50, 50, 0, 0); 
  18.  
  19. }/* Notice writeImages instead of writeImage */ 
  20.  
  21. $im->writeImages("example_small.gif", true); 
  22.  
  23. ?> 

好了扯远了,我们来进入正题吧.

pdf生成png首页缩略图,服务器需要支持Imagick,代码如下:

  1. /** 
  2. * PDF2PNG    
  3. * @param $pdf  待处理的PDF文件 
  4. * @param $path 待保存的图片路径 
  5. * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页 
  6. * @return      保存好的图片路径和文件名 
  7. */ 
  8.  function pdf2png($pdf,$path,$page=0) 
  9. {   
  10.    if(!is_dir($path)) 
  11.    { 
  12.        mkdir($path,true); 
  13.    } 
  14.    if(!extension_loaded('imagick')) 
  15.    {   
  16.      echo '没有找到imagick!' ; 
  17.      return false; 
  18.    }   
  19.    if(!file_exists($pdf)) 
  20.    {   
  21.       echo '没有找到pdf' ; 
  22.        return false;   
  23.    }   
  24.    $im = new Imagick();   
  25.    $im->setResolution(120,120);   //设置图像分辨率 
  26.    $im->setCompressionQuality(80); //压缩比 
  27.  
  28.    $im->readImage($pdf."[".$page."]"); //设置读取pdf的第一页 
  29.    //$im->thumbnailImage(200, 100, true); // 改变图像的大小 
  30.    $im->scaleImage(200,100,true); //缩放大小图像 
  31.    $filename = $path."/". time().'.png'
  32.  
  33.    if($im->writeImage($filename) == true) 
  34.    {   
  35.       $Return  = $filename;   
  36.    }   
  37.    return $Return;   
  38. }   
  39.  
  40. $s=pdf2png('file/1371273225-ceshi_ppt.pdf','images');  
  41. echo "<div align=center><img src="".$s.""></div>"

Tags: Imagick pdf生成png 缩略图

分享到: