1 <?php 2 //header("Content-type:text/html;charset=utf-8"); 3 //word转html 展示 4 $lj=$_GET['file'];//传来的是文件位置 具体看自己的传值 upload/user/20170306/20170306xgtlne.doc 5 $lj=str_replace("/",'\',$lj);//把路径改为号 例如 uploaduser2017030620170306xgtlne.doc 6 7 function word2html($wordname,$htmlname) 8 { 9 $word = new COM("word.application") or die("Unable to instanciate Word"); 10 $word->Visible = 1; 11 $word->Documents->Open($wordname); 12 $word->Documents[1]->SaveAs($htmlname,8); 13 $word->Quit(); 14 $word = null; 15 unset($word); 16 17 } 18 //服务器或本地的word具体位置 例如'D:phpStudyWWWGongshuUnion.uploaduser2017030620170306xgtlne.doc' 19 $address='D:phpStudyWWWGongshuUnion\'; 20 word2html($address.$lj,$address.$lj.".html"); 21 //跳转时可以在后最加上.html 22 //例如 $url= http://localhost/GongshuUnion/upload/user/20170306/20170306xgtlne.doc.html 23 //我这里一共传了两个值 一个是 $_GET['file'] = upload/user/20170306/20170306xgtlne.doc 24 //另一个是$_GET['url']=http://localhost/GongshuUnion/upload/user/20170306/20170306xgtlne.doc.html 25 $url= $_GET['url']; 26 Header("Location:$url"); 27 ?>
希望你们能看的懂。
本地最好要支持office word 组件不然不能完美转换,wps没有api。
先确认com模块是不是开启,phpinfo里面如果有com_dotnet模块,说明已开启,如果没有,修改php.ini,
com.allow_dcom = true
前面的注释去掉,重启就OK了,php官方网站说,php5.4.5之前,com模块是内置的,其实也不一定全是,官网下的php 5.3.39,com模块就没有内置。
如果不是内置模块的话,php.ini加上,前提你的ext文件夹下,有该扩展
extension=php_com_dotnet.dll
然后重启就OK了
部分代码转载(http://www.jb51.net/article/78492.htm)
最近又找了几个方法我把他写在这里是实现在线预览office的
<a href="http://ow365.cn/?i=12592&furl=http://abc.qybk.cn/{$file.file}" target="_blank">查看</a> //一天免费查看500次 优点速度快 非会员 <a href="http://api.idocv.com/view/url?url=http://abc.qybk.cn/{$file.file}" target="_blank">查看</a>//每个文件能看只能看5次 好像没有每次限制就是有每个文件查看次数限制? 非会员 <a href="http://view.officeapps.live.com/op/view.aspx?src=http://abc.qybk.cn/{$file.file}" target="_blank">查看</a> //微软官方自带的
主要实现方法自己看我发的链接 除了第一个要注册试用 其他全部可以免费使用
第一个超链接http://www.officeweb365.com/ furl=是自己域名下文件的地址
第二个超链接https://www.idocv.com/ url=是自己域名下文件的地址
第三个使用微软提供的Office Online平台只需要一个网址即可在线查看Xls,doc,PPT等文档
这些都可以实现Xls,doc,PPT等文档在线预览