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): 以调用的客户端的用户确定对象的身份, 一个缺点就是这个对象不能再进行远程调用;

转载于:https://www.cnblogs.com/dwj192/p/7019374.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值