php ppt转成图片不显示,php实现ppt转图片,php调用com组件问题

c4468b3f4df77e96b0a416fa2a870fba.png

PHP 调用com组件将ppt转为图片。

需要在php.ini中开启

extension=php_com_dotnet.dll

com.allow_dcom = true

测试代码如下:

$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."
";

//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...

ce7da93e4d2ab4d89afc6b31f34279de.png

解决方案:

cmd -》 dcomcnfg

a25fbb6dae3291eb612bf532744dbe7c.png

参考网址:

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用户,必须新建一个。

978aa2206da72b1ca54d9e92312a44d3.png

在安全,选项卡中,所有权限选自定义,给上面选择的用户授予全部权限。

822dda4534a2869bbf9964c777f19ed2.png

搞定!

--------------------------------------------------------------------------------

交互式用户(The interactive user): 这是推荐的选项, 以当前登录到系统的用户确定对象的身份(当前必须有用户登录到系统, 如果用户注销那么对象也会被销毁);

启动用户(The launching user): 以调用的客户端的用户确定对象的身份, 一个缺点就是这个对象不能再进行远程调用;

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部