J'ai développé ce genre de fonctionnalité en passant par du rtf. Voilà la marche que j'ai suivie :
1. J'ai fait un modèle du document que je voulais créer
2. Je l'ai ouvert dans un éditeur de texte. Dans le rtf il y a beaucoup de \n, \y etc, il faut les doubler pour que php les prenne en compte tels quels
3. J'ai retrouvé les endroits qui correspondaient aux champs qui m'intéressent, et j'ai remplacé les mots par mes variables.
4. J'ai fait écrire tout ça à php dans un fichier avec fwrite()
je crois que c'est tout, et ça marche, même avec des images dans le document Word.
En espérant que ce sera utile