Php uses openoffice to convert office to pdf format, such as the question, and finds the code from the internet
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();
System: window xp
Software: openoffice3.3
Server: xampp
Php. ini-com. allow_dcom = true
Error: Fatal error: Uncaught exception 'com _ exception' with message 'failed' to create com object 'com. sun. star. ServiceManager 'in "the project of path"
Reply to discussion (solution)
$ Osm = new COM ("com. sun. star. ServiceManager"); error caused by this creation! An error occurred while performing operations on the Com class! What plug-ins are missing or. dll files! Looking forward to answers from the experts
OpenOffice.org needs to be installed
1. check whether OpenOffice has been installed.
2. run the following command to start the OpenOffice service:
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
And try again.
Reference http://www.9958.pw/post/wenku