В шаблоне docx пометить поля для вставки {field1} {field2} и т.д. закрыть
В вашей программе
docx - открыть как обычный архив, достать из него файл word/document.xml
Подправить заменой как обычный текст. (Сначала с помощью регулярных выражений лишние '<.*?>')
Например я непосредственно в JSzip пробовал
function isprXML(xmlfile) {
// //почистить шаблон до правильного вида переменных {field1}
var re = /({.*?})/sg;
var re2 = /(<.*?>)/g;;
let result = xmlfile.match(re) || [];
let newres = [];
result.forEach(element => {
var newel = element.replace(re2, "");
xmlfile = xmlfile.replace(element, newel);
});
return xmlfile;
}
Затем просто менять поля {field1} на ваши данные
xmlfile = xmlfile.replace("field1", data);
word/document.xml - Положить обратно в архив
Здесь пример на JS - работает прямо в браузере