Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Doc/Docx Files To PDF using PHP

Tags:

php

pdf

docx

I am looking for a PHP code or PHP Library to convert microsoft doc/docx files to PDF. I am not familiar with Zend. Please help me to convert my word files to PDF successfully.

like image 660
Vineesh Kalarickal Avatar asked Jun 02 '26 14:06

Vineesh Kalarickal


1 Answers

Open Office and This Code Helps me :)

<?php
    set_time_limit(0);
    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){
    //echo $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(MakePropertyValue("Hidden",true,$osm));
    //Launch the desktop
    $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");
    //Load the .doc file, and pass in the "Hidden" property from above
    $oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args);
    //Set up the arguments for the PDF output
    $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
    //print_r($export_args);
    //Write out the PDF
    $oWriterDoc->storeToURL($output_url,$export_args);
    $oWriterDoc->close(true);
    }
    $output_dir = "C:/wamp/www/vineesh/";
    $doc_file = "C:/wamp/www/vineesh/vineesh.docx";
    $pdf_file = "vineesh.pdf";
    $output_file = $output_dir . $pdf_file;
    $doc_file = "file:///" . $doc_file;
    $output_file = "file:///" . $output_file;
    word2pdf($doc_file,$output_file);
    ?>
like image 88
Vineesh Kalarickal Avatar answered Jun 04 '26 02:06

Vineesh Kalarickal



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!