php 利用openoffice把office转成pdf格式
如题 从网上找到代码
function word2pdf($doc_url, $output_url)<br> {<br> //Invoke the OpenOffice.org service manager<br> $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n");<br> //Set the application to remain hidden to avoid flashing the document onscreen<br> $args = array($this->MakePropertyValue("Hidden",true,$osm));<br> //Launch the desktop<br> $top = $osm->createInstance("com.sun.star.frame.Desktop");<br> //Load the .doc file, and pass in the "Hidden" property from above<br> $oWriterDoc = $top->loadComponentFromURL($doc_url,"_blank", 0, $args);<br> //Set up the arguments for the PDF output<br> $export_args = array($this->MakePropertyValue("FilterName","writer_pdf_Export",$osm));<br> //Write out the PDF<br> $oWriterDoc->storeToURL($output_url,$export_args);<br> $oWriterDoc->close(true);<br> }<br><br> <br> <br> public function test1()<br> {<br> $output_dir = SERVERBASE . 'client/files/proj_workaholic/office/pdf/';<br> $doc_file = SERVERBASE . 'client/files/proj_workaholic/office/office/helloWorld.doc';<br> $pdf_file = "hellowWorld.pdf";<br> $output_file = $output_dir . $pdf_file;<br>// $doc_file = "file:///" . $doc_file;<br>// $output_file = "file:///" . $output_file;<br> $this->word2pdf($doc_file,$output_file);<br> <br> }<br>test();<br>系统: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
然后再试验一下呢.










