Я должен создать документ слова из шаблона слова, что-то как, мы должны заменить несколько строк (скажите что переменные) в шаблоне со значениями.
Скажите, как мы можем сделать это в PHP (или cakePHP).
Я бы рекомендовал проверить phpLiveDocx: http://www.phplivedocx. org/
И некоторые другие вопросы по SO, которые стоит прочитать:
Проверьте http://www.phpbuilder.com/annotate/message.php3?id=1024286, а также статью, которую он комментирует.
Я сделал подобный трюк, когда мне нужно было сгенерировать простую таблицу excel. При отправке правильного заголовка, excel клиента вообще не жаловался. Или, если вы можете напрямую использовать другой формат, используйте его. (.docx или открытый документ сжат xml, так что с ним легче манипулировать)
. Самая большая проблема, с которой вы столкнетесь, это . doc
является двоичным (см. этот вопрос и этот пост Джоэля ).
Есть ли причина, по которой вы не можете использовать либо документ, отформатированный в HTML (слово, которое можно открыть более 10 лет), либо Богатый текстовый файл ? Оба эти варианта основаны на тексте и причинят вам значительно меньше боли. Они, в результате, очень просты в использовании с шаблоном.
Кроме того, если вы можете быть уверены, что у пользователя будет более новая версия Office (2007+), то вы можете, хотя это и довольно сложно, использовать документ .docx
, который на самом деле представляет собой Zip-архив и XML-данные. Вы можете реализовать это довольно просто, создав файл слова .docx
, который имеет нужный вам шаблон, переименовав его в .zip
, извлекая файлы, обучая ваше приложение замене текста на эту файловую структуру на месте, перезаписывая его, используя PHP's ZipArchive класс, а затем отправляя этот файл (с именем .docx
, конечно же).