Edit .doc or .docx file using php

后端 未结 5 1385
攒了一身酷
攒了一身酷 2021-02-07 14:24

I have to modify the uploaded .doc or .docx file in php. I googled but i only found how to read that. I want the word file as it is and put text at the bottom of that MS Word fi

相关标签:
5条回答
  • 2021-02-07 14:41

    You can use PHPWord.

    0 讨论(0)
  • 2021-02-07 14:46

    I have same requirement for Edit .doc or .docx file using php and i have find solution for it. And i have write post on It :: http://www.onlinecode.org/update-docx-file-using-php/

    if($zip_val->open($full_path) == true)
    {
        // In the Open XML Wordprocessing format content is stored.
        // In the document.xml file located in the word directory.
    
        $key_file_name = 'word/document.xml';
        $message = $zip_val->getFromName($key_file_name);               
    
        $timestamp = date('d-M-Y H:i:s');
    
        // this data Replace the placeholders with actual values
        $message = str_replace("client_full_name",      "onlinecode org",       $message);
        $message = str_replace("client_email_address",  "ingo@onlinecode.org",  $message);
        $message = str_replace("date_today",            $timestamp,         $message);      
        $message = str_replace("client_website",        "www.onlinecode.org",   $message);      
        $message = str_replace("client_mobile_number",  "+1999999999",          $message);
    
        //Replace the content with the new content created above.
        $zip_val->addFromString($key_file_name, $message);
        $zip_val->close();
    }
    
    0 讨论(0)
  • 2021-02-07 15:00

    You only replace the predefined variables. In the following code

    https://github.com/PHPOffice/PHPWord I also did this problem in phpword using the following code

     if(!file_exists('file/word.docx')){
      $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('demo.docx');
      $templateProcessor->setValue('name', 'Akbarali');
      $templateProcessor->setValue('time','13.02.2021');
      $templateProcessor->setValue('month', 'January');
      $templateProcessor->setValue('state','Uzbekistan');
      $templateProcessor->saveAs('file/word.docx');
    }
    

    This will change the words in the demo.docx file. The new file is then saved in the word.docx file folder. you can define variables in the form of $ {name} in the demo word file. that is, ${name}, ${time}, ${month} and ${state}

    0 讨论(0)
  • 2021-02-07 15:01

    I'm the developer of PHPWord. You can use the PHPWord_Template Class to open an existing DOCX File and then replace some text marks with your individual text.

    Alternatively you can open the DOCX file with the ZipArchive extension and then read/write every xml File (document.xml, header.xml, footer.xml, ...) you want. This method is nothing else than the PHPWord_Template class. ;)

    0 讨论(0)
  • 2021-02-07 15:05

    Try having a look at http://www.tinybutstrong.com/ as it can create and edit Word documents, we use it in a mail merge style for generating invoices in doc and pdf.

    0 讨论(0)
提交回复
热议问题