当前位置: 代码迷 >> PHP >> php 利用openoffice把office转成pdf格式,该怎么处理
  详细解决方案

php 利用openoffice把office转成pdf格式,该怎么处理

热度:12   发布时间:2016-04-28 23:53:29.0
php 利用openoffice把office转成pdf格式
如题 从网上找到代码
PHP code
    function word2pdf($doc_url, $output_url)    {        //Invoke the OpenOffice.org service manager        $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n");        //Set the application to remain hidden to avoid flashing the document onscreen        $args = array($this->MakePropertyValue("Hidden",true,$osm));        //Launch the desktop        $top = $osm->createInstance("com.sun.star.frame.Desktop");        //Load the .doc file, and pass in the "Hidden" property from above        $oWriterDoc = $top->loadComponentFromURL($doc_url,"_blank", 0, $args);        //Set up the arguments for the PDF output        $export_args = array($this->MakePropertyValue("FilterName","writer_pdf_Export",$osm));        //Write out the PDF        $oWriterDoc->storeToURL($output_url,$export_args);        $oWriterDoc->close(true);    }            public function test1()    {        $output_dir = SERVERBASE . 'client/files/proj_workaholic/office/pdf/';        $doc_file = SERVERBASE . 'client/files/proj_workaholic/office/office/helloWorld.doc';        $pdf_file = "hellowWorld.pdf";        $output_file = $output_dir . $pdf_file;//        $doc_file = "file:///" . $doc_file;//        $output_file = "file:///" . $output_file;        $this->word2pdf($doc_file,$output_file);        }test();

系统:window xp
软件:openoffice3.3
服务器:xampp
php.ini - com.allow_dcom = true

错误:Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `com.sun.star.ServiceManager' in "the project of path"



------解决方案--------------------
需要安装OpenOffice.org
------解决方案--------------------
1、检查一下是否安装过OpenOffice。
2、用命令行启动OpenOffice服务:
cd C:\Program Files\OpenOffice.org 3\program
C:\Program Files\OpenOffice.org 3\program>soffice -headless -accept="socket,host
=127.0.0.1,port=8100;urp;" -nofirststartwizard
然后再试验一下呢.
  相关解决方案