Самая большая проблема, с которой вы столкнетесь, заключается в том, что формат .doc
имеет двоичный характер (см. этот вопрос и этот пост от Джоэла ).
Есть ли причина, по которой вы не можете использовать документ в формате HTML (какое слово открывалось более 10 лет) или форматированный текстовый файл ? Оба они основаны на тексте и причинят вам значительно меньше боли. В результате их очень легко использовать с шаблоном.
В качестве альтернативы, если вы можете быть уверены, что у пользователя будет более новая версия Office (2007+), то вы можете, хотя это несколько сложно, использовать документ .docx
, который на самом деле представляет собой Zip-архив и данные XML , Вы можете реализовать это довольно просто, создав файл .docx
word, содержащий нужный шаблон, переименовав его в .zip
, извлекая файлы, обучая ваше приложение выполнять замену текста в этой файловой структуре на месте, повторно заархивируйте его, используя PHP-класс ZipArchive , а затем отправьте этот файл (конечно, с именем .docx
).