DOCX формат это обычный ZIP архив, который можно открыть любым архиватором.

Структура docx
Все содержимое документы находиться в файле word/document.xml. Открываем файл в Word’e, добавляем пару переменных в документ, например: {NAME}, {SURNAME}. И сохраняем документ.
Для работы с Zip архивом в PHP я использую ZipArchive.
<?php
//Указываем путь до подготовленного документа
$docxFile = '/document.docx';
//Список параметров
$params = array(
'{NAME}' => 'Anatoliy',
'{SURNAME}' => 'Skornyakov'
);
if (!file_exists($docxFile)) {
die('File not found.');
}
$zip = new ZipArchive();
if (!$zip->open($docxFile)) {
die('File not open.');
}
$documentXml = $zip->getFromName('word/document.xml');
//Заменяем все найденные переменные в файле на значения
$documentXml = str_replace(array_keys($params), array_values($params), $documentXml);
$zip->deleteName('word/document.xml');
$zip->addFromString('word/document.xml', $documentXml);
//Закрываем и сохраняем архив
$zip->close();