我試圖將ppt文件上的幻燈片轉換爲PNG文件,但是我的代碼有問題。新COM(「PowerPoint.Application」)不起作用
$ppApp = new COM("PowerPoint.Application") or die ("Unable to instantiate PowerPoint");
然後顯示"Maximum execution time of 30 seconds exceeded";
當我去我的直播服務器,首次腳本的工作,但那麼它顯示:
在本地測試腳本停留在該行發生錯誤
"Fatal error: Uncaught exception 'Exception' with message 'Could not close ppt file 1251.pptx.'
我在Windows服務器上,並且我認爲我使用ppt進程的方式有問題。
這裏是代碼:
$ppApp = new COM("PowerPoint.Application") or die ("Unable to instantiate PowerPoint");
$ppApp->Visible = True;
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"])));
$ppName = $jobQuery['id'].".pptx";
$FileName = "MyPP";
//*** Open Document ***//
$ppApp->Presentations->Open(realpath($ppName));
//*** Save Document ***//
$p_opned = $ppApp->ActivePresentation->SaveAs($strPath."/".$jobQuery['id']."_".$FileName,18);
//$ppApp->ActivePresentation->SaveAs(realpath($FileName),17);
$ppApp->Quit();
$ppApp = NULL;
unset($ppApp);
謝謝您的幫助。
那麼首先一個需要檢查的是你最大的執行時間,因爲它似乎仍然設定在默認爲30秒。因此,請嘗試腳本頂部的set_time_limit(0)。請提供更多關於異常問題的代碼。 –
感謝您的回覆,我只是添加了代碼。我都準備好嘗試修復最大執行時間。問題是在第一次執行腳本後,POWERPNT.EXE仍在後臺運行。 – user1271775
不推薦使用服務器端辦公文檔處理。看看這篇文章:http://support.microsoft.com/kb/257757/EN-US – CodeZombie