欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP使用imagick讀取PDF生成png縮略圖的兩種方法

 更新時(shí)間:2014年03月20日 10:08:45   作者:  
這篇文章主要介紹了PHP使用imagick讀取PDF第一頁生成png縮略圖的兩種方法,使用了PHP擴(kuò)展php_imagick,需要的朋友可以參考下
一、ImageMagick是什么
ImageMagick是一套功能強(qiáng)大、穩(wěn)定而且免費(fèi)的工具集和開發(fā)包,可以用來讀、寫和處理超過185種基本格式的圖片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根據(jù)web應(yīng)用程序的需要動態(tài)生成圖片, 還可以對一個(gè)(或一組)圖片進(jìn)行改變大小、旋轉(zhuǎn)、銳化、減色或增加特效等操作,并將操作的結(jié)果以相同格式或其它格式保存。
二、php_imagick什么
一個(gè)可以供PHP調(diào)用ImageMagick功能的PHP擴(kuò)展。使用這個(gè)擴(kuò)展可以使PHP具備和ImageMagick相同的功能。
三、PDF生成png縮略圖的兩種方法
第一種:
復(fù)制代碼 代碼如下:
/**
* PDF2PNG  
* @param $pdf  待處理的PDF文件
* @param $path 待保存的圖片路徑
* @param $page 待導(dǎo)出的頁面 -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);   //設(shè)置圖像分辨率
   $im->setCompressionQuality(80); //壓縮比
   $im->readImage($pdf."[".$page."]"); //設(shè)置讀取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>';

第二種:
復(fù)制代碼 代碼如下:
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;
}

相關(guān)文章

  • Yii框架彈出窗口組件CJuiDialog用法分析

    Yii框架彈出窗口組件CJuiDialog用法分析

    這篇文章主要介紹了Yii框架彈出窗口組件CJuiDialog用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Yii框架組件CJuiDialog的功能、使用方法與具體參數(shù)功能,需要的朋友可以參考下
    2017-01-01
  • ThinkPHP3.1新特性之多層MVC的支持

    ThinkPHP3.1新特性之多層MVC的支持

    默認(rèn)的模型層由Model類構(gòu)成,但是隨著項(xiàng)目的增大和業(yè)務(wù)體系的復(fù)雜化,單一的模型層很難解決要求,從3.1開始推出了多層Model的支持。這篇文章主要介紹了ThinkPHP3.1多層MVC的支持,需要的朋友可以參考下
    2014-06-06
  • PHP URL參數(shù)獲取方式的四種例子

    PHP URL參數(shù)獲取方式的四種例子

    這篇文章主要介紹了PHP URL參數(shù)獲取方式的四種例子,php url參數(shù)解析的4種方法,需要的朋友可以參考下
    2014-02-02
  • php使用json_encode對變量json編碼

    php使用json_encode對變量json編碼

    這篇文章主要是說明 json_encode 使用時(shí)一個(gè)需要注意的細(xì)節(jié),無論返回的是數(shù)組還是 json,都不代表這一定就是個(gè)錯(cuò)誤的返回結(jié)果,當(dāng)前端需要的數(shù)組時(shí),數(shù)組就是正確的結(jié)果,反之亦然
    2014-04-04
  • php測試程序運(yùn)行速度和頁面執(zhí)行速度的代碼

    php測試程序運(yùn)行速度和頁面執(zhí)行速度的代碼

    microtime()函數(shù)返回當(dāng)前 Unix 時(shí)間戳的微秒數(shù)。用于檢測程序執(zhí)行時(shí)間的函數(shù),也是PHP內(nèi)置的時(shí)間函數(shù)之一,在PHP中可以用于對程序執(zhí)行時(shí)間的判斷,以及相同功能函數(shù)的執(zhí)行效率高低快慢的判斷。
    2022-12-12
  • twig模板獲取全局變量的方法

    twig模板獲取全局變量的方法

    這篇文章主要介紹了twig模板獲取全局變量的方法,結(jié)合實(shí)例形式分析了twig模板操作變量的常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-02-02
  • 3個(gè)PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實(shí)例

    3個(gè)PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實(shí)例

    這篇文章主要介紹了3個(gè)PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實(shí)例,分別使用foreach、for、while三種循環(huán)方法來實(shí)現(xiàn),需要的朋友可以參考下
    2014-03-03
  • php獲取POST數(shù)據(jù)的三種方法實(shí)例詳解

    php獲取POST數(shù)據(jù)的三種方法實(shí)例詳解

    本文介紹php獲取POST數(shù)據(jù)的三種方法,第一種方法是$_POST,第二種方法是使用file_get_contents,第三種方法是使用全局變量$GLOBALS, 具體請看下面說明
    2016-12-12
  • Laravel框架模板加載,分配變量及簡單路由功能示例

    Laravel框架模板加載,分配變量及簡單路由功能示例

    這篇文章主要介紹了Laravel框架模板加載,分配變量及簡單路由功能,結(jié)合實(shí)例形式分析了Laravel框架模板加載,分配變量及簡單路由功能相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • phpnow php探針環(huán)境檢測代碼

    phpnow php探針環(huán)境檢測代碼

    這篇文章主要為大家分享了phpnow php探針環(huán)境檢測代碼,需要的朋友可以參考下
    2014-11-11

最新評論