php(thinkphp)在linux系統下pdf轉png圖片【轉】

來源:互聯網
上載者:User

標籤:file   技術   new   foreach   als   inux   var   page   頁面   

PHP)中使用imagick實現把PDF轉成圖片

操作之前,先在linux伺服器安裝 ghostscript

650 2017-06-17 13:31:20 root cd ./soft
651 2017-06-17 13:31:25 root wget http://ghostscript.com/releases/ghostscript-8.71.tar.gz
652 2017-06-17 13:41:14 root tar zxvf ghostscript-8.71.tar.gz
653 2017-06-17 13:41:26 root cd ghostscript-8.71
654 2017-06-17 13:41:37 root ./configure --prefix=/usr
655 2017-06-17 13:42:06 root mkdir obj
656 2017-06-17 13:42:15 root mkdir bin
657 2017-06-17 13:42:23 root make all
658 2017-06-17 13:45:29 root make install

然後重啟一下:

use Imagick;
/**
* PDF2PNG
* @param $pdf 待處理的PDF檔案
* @param $path 待儲存的圖片路徑
* @param $page 待匯出的頁面 -1為全部 0為第一頁 1為第二頁
* @return 儲存好的圖片路徑和檔案名稱
*/
function pdf2png($pdf,$path,$page=-1)
{
if(!extension_loaded(‘imagick‘))
{
return false;
}
if(!file_exists($pdf))
{
echo dirname($pdf);
echo "file not exit";
return false;
}

$im = new Imagick();


$im->setResolution(120,120);
$im->setCompressionQuality(100);
try {
if($page==-1){
$im->readImage($pdf);
}else{
$im->readImage($pdf."[".$page."]");
}
} catch (\Exception $e) {
Log::notice($e->getMessage());
}
foreach ($im as $Key => $Var)
{
$Var->setImageFormat(‘png‘);
$filename = $path."/". md5($Key.time()).‘.png‘;
if($Var->writeImage($filename) == true)
{
$Return[] = $filename;
}
}
return $Return;
}

function cpdf2png()
{
$path="public/files";//請確保目前的目錄下有這個檔案夾,由於一直要用,所以就不加檢測了
$s=self::pdf2png("public/files/bp/36.pdf",$path);
$scount=count($s);
for($i=0;$i<$scount;$i++)
{
echo "<div align=center><font color=red>Page ".($i+1)."</font><br><a href=\"".$s[$i]."\" target=_blank><img border=3 src=\"".$s[$i]."\"></a></div><p>";
}
}

完全是參考:http://www.jb51.net/article/60337.htm 這篇文章。非常感謝

php(thinkphp)在linux系統下pdf轉png圖片【轉】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.