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

 

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

 

須要在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...服務器

解決方案: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): 以調用的客戶端的用戶肯定對象的身份, 一個缺點就是這個對象不能再進行遠程調用;

相關文章
相關標籤/搜索