PHP调用OpenOffice实现word文档在线预览

一、Windows下的OpenOffice安装与配置

 1、下载OpenOffice  :http://www.openoffice.org/

 2、安装(双击安装无须赘述,安装完成后记得运行软件看功能是否正常)

 3、配置(注册为windows组件才能被PHP调用)。

       控制面板->管理工具->组件服务->计算机->我的电脑->DCOM配置,找到 OpenOffice Service Manager

       

       右键->属性  然后更改 安全标识 两项的参数配置 

       

       

       标识---选择交互式用户

  安全--启动和激活权限和  访问权限进行配置

 ============================================================================

     PHP调用OpenOffice的API实现文档在线预览(原理:先把文档生成PDF然后在线预览)

      

function _MakePropertyValue($name,$value,$osm){
		$oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
		$oStruct->Name = $name;
		$oStruct->Value = $value;
		return $oStruct;
	}
	function _word2pdf($doc_url, $output_url){
		$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");
		$args = array($this->_MakePropertyValue("Hidden",true,$osm));
		$oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");
		$oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args);
		$export_args = array($this->_MakePropertyValue("FilterName","writer_pdf_Export",$osm));
		$oWriterDoc->storeToURL($output_url,$export_args);
		$oWriterDoc->close(true);
	}

//调用
	
		$output_file="D:/";
	        $doc_file="D:/T.doc";	
		$doc_file = "file:///" . $doc_file;  
		$output_file = "file:///" . $output_file; 
		$this->_word2pdf($doc_file,$output_file);


分享至
2015-12-01 发布 ┊ 7199 人浏览 ┊ 7 人评论 ┊ 来源:原创 ┊ 收藏
回复
  • # 1于杰智造 2016-01-20 15:32┆
    熟人邦 APP iOS版本 求推广
    火柴:
    @于杰智造 ?
  • # 2ebaidu 2016-01-29 11:01┆
    学习了啊
  • # 3taoive 2016-04-20 22:32┆
    学习了,谢谢分享。
  • # 4adminyk 2016-04-24 21:59┆
    不错哦~~~~~~
  • # 57*1 2016-09-12 09:51┆
    PHP实现office文档的在线预览,可以试试PageOffice插件,功能也是很全面的,需要的盆友可以看看
  • # 6wujiazg 2018-05-02 22:21┆
    错误提示Call to a member function storeToURL() on a non-object请问有什么解决方法
返回顶部