PHP 調用com組件將ppt轉為圖片。
需要在php.ini中開啟
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): 以調用的客戶端的用戶確定對象的身份, 一個缺點就是這個對象不能再進行遠程調用;
