PHP 調用com組件將ppt轉爲圖片。php
須要在php.ini中開啓安全
<?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...服務器
解決方案:app
cmd -》 dcomcnfgide
參考網址:測試
http://blog.csdn.net/bleurever/article/details/50783133ui
2018年2月26日續.net
按照上述方法解決後發現交互式用戶有如下問題,必需要有用戶登陸系統才能使用,不然報錯以下:code
PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `powerpoint.application': 由於配置標識不正確,系統沒法開始服務器進程。請檢查用戶名和密碼。對象
解決方法,指定用戶,還不能是administrator用戶,必須新建一個。
在安全,選項卡中,全部權限選自定義,給上面選擇的用戶授予所有權限。
搞定!
--------------------------------------------------------------------------------
交互式用戶(The interactive user): 這是推薦的選項, 以當前登陸到系統的用戶肯定對象的身份(當前必須有用戶登陸到系統, 若是用戶註銷那麼對象也會被銷燬);啓動用戶(The launching user): 以調用的客戶端的用戶肯定對象的身份, 一個缺點就是這個對象不能再進行遠程調用;