The easiest way to do this is using phpLiveDocx. It is component for the Zend Framework and completely free.
Supported template file formats (input)
- DOCX - Microsoft Word DOCX Format
- DOC - Microsoft Word DOC Format
- RTF - Rich Text Format File
- TXD - TX Text Control Format
Supported document file formats (output)
- DOCX - Microsoft Word DOCX Format
- DOC - Microsoft Word DOC Format
- RTF - Rich Text Format File
- PDF - Acrobat Portable Document Format
- TXD - TX Text Control Format
- TXT - ANSI Plain Text
From the project web site:
"phpLiveDocx allows developers to generate documents by combining structured data from PHP with a template, created in a word processor. The resulting document can be saved as a PDF, DOCX, DOC or RTF file. The concept is the same as with mail-merge."
For details, see:
http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/