Php uses openoffice to convert office to pdf format. for example, find the code PHPcodefunctionword2pdf ($ doc_url, $ output_url) {InvoketheOpenOffice. orgservicemanager $ osmnewCOM (& q php uses openoffice to convert office to pdf format.
Find the code from the internet
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();
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"
------ Solution --------------------
OpenOffice.org needs to be installed
------ Solution --------------------
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.