php實現ppt轉圖片,php調用com組件問題


 

 PHP 調用com組件將ppt轉為圖片。

 

需要在php.ini中開啟

extension=php_com_dotnet.dll
com.allow_dcom = true
 
測試代碼如下:
 
<?php
$powerpnt = new COM("powerpoint.application") or die("Unable to instantiate Powerpoint");
$file='1.ppt';
echo realpath($file);

$addr = $_SERVER['DOCUMENT_ROOT'].'/ppt/1.ppt';
echo $addr;
$presentation = $powerpnt->Presentations->Open($addr, false, false, false) or die("Unable to open presentation");


$presentation->Fonts->Replace('黑體','幼圓');
$presentation->Fonts->Replace('MS Gothic','幼圓');
$presentation->Fonts->Replace('方正粗倩簡體','幼圓');
$presentation->Fonts->Replace('方正小標宋簡體','幼圓');
$presentation->Fonts->Replace('Arial Black','幼圓');
$presentation->Fonts->Replace('華文中宋','幼圓');
$presentation->Fonts->Replace('Arial Unicode MS','幼圓');
$presentation->Fonts->Replace('方正細圓簡體','幼圓');
$presentation->Fonts->Replace('Times New Roman','幼圓');


foreach($presentation->Fonts as $c)
{
	echo $c->name."<br />";
	//echo $c->Replace('','');
}


foreach($presentation->Slides as $slide)
{
$slideName = "Slide_" . $slide->SlideNumber;
$uploadsFolder = 'iii';
$exportFolder = realpath($uploadsFolder);
$slide->Export($exportFolder."//".$slideName.".jpg", "jpg", "1920", "1080");
}
$presentation->Close();
$powerpnt->Quit();
$powerpnt = null;
?>

  

在win7上跑,沒問題,放到2008上面出現錯誤,有一種exception叫unknown...

解決方案:

cmd -》 dcomcnfg

 

 

 

參考網址:

http://blog.csdn.net/bleurever/article/details/50783133

 

 

2018年2月26日續

按照上述方法解決后發現交互式用戶有以下問題,必須要有用戶登錄系統才能使用,否則報錯如下:

PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `powerpoint.application': 因為配置標識不正確,系統無法開始服務器進程。請檢查用戶名和密碼。

解決方法,指定用戶,還不能是administrator用戶,必須新建一個。

 

在安全,選項卡中,所有權限選自定義,給上面選擇的用戶授予全部權限。

 

搞定!

--------------------------------------------------------------------------------

交互式用戶(The interactive user): 這是推薦的選項, 以當前登錄到系統的用戶確定對象的身份(當前必須有用戶登錄到系統, 如果用戶注銷那么對象也會被銷毀);
啟動用戶(The launching user): 以調用的客戶端的用戶確定對象的身份, 一個缺點就是這個對象不能再進行遠程調用;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM