php实现ppt转图片,php调用com组件问题
Posted 河在谈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php实现ppt转图片,php调用com组件问题相关的知识,希望对你有一定的参考价值。
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): 以调用的客户端的用户确定对象的身份, 一个缺点就是这个对象不能再进行远程调用;
以上是关于php实现ppt转图片,php调用com组件问题的主要内容,如果未能解决你的问题,请参考以下文章