Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generating word documents with PHP [duplicate]

Do you know any way to generate doc and docx files with PHP and without COM component? I've tried PHPWord, which creates docx files, but these cannot be opened in OpenOffice because they cause it to crash. I've also tried PHPDocx, but it didn't generate any files at all.

like image 701
EL_W Avatar asked Nov 11 '10 10:11

EL_W


2 Answers

Generating word documents with JS:

I have created a simple open-source library that will replace tags by values.

For example Hi {name} with data={name:"John"} will be replaced by Hi John.

Here it is : https://github.com/edi9999/docxtemplater

Demo: https://docxtemplater.com/demo

like image 174
edi9999 Avatar answered Oct 21 '22 22:10

edi9999


See here:

http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php

To quote from the article the most common method:

Using HTTP Headers

In this method you need to format the HTML/PHP page using Word-friendly CSS and add header information to your PHP script. Make sure you don't use external style sheets since everything should be in the same file.

As a result user will be prompted to download a file. This file will not be 100% "original" Word document, but it certainly will open in MS Word application. You can use this method both for Unix and Windows environments.

<?php
  header("Content-type: application/vnd.ms-word");
  header("Content-Disposition: attachment;Filename=document_name.doc");    
  echo "<html>";
  echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
  echo "<body>";
  echo "<b>My first document</b>";
  echo "</body>";
  echo "</html>";
?>
like image 30
SW4 Avatar answered Oct 21 '22 21:10

SW4