Как создать файл .doc слова из шаблона .doc в php

Мне нужно создать документ слова из шаблона слова, что-то вроде этого, нам нужно заменить несколько строк (например, переменных) в шаблоне значениями.

Расскажите, как мы можем это сделать в PHP (или cakePHP).

Solutions Collecting From Web of "Как создать файл .doc слова из шаблона .doc в php"

Я бы рекомендовал проверить phpLiveDocx: http://www.phplivedocx.org/

И некоторые другие вопросы по SO, которые можно было бы прочитать:

  • Используйте PHP для создания файла DOC в Unix Box на основе выбора веб-формы HTML
  • Создать документ Word с помощью PHP в Linux
  • Чтение / запись файла MS Word в PHP
  • создать файл слова doc из командной строки linux

Самая большая проблема, с которой вы столкнетесь, заключается в том, что формат .doc носит двоичный характер (см. Этот вопрос и этот пост Joel ).

Есть ли причина, по которой вы не можете использовать документ в формате HTML (какое слово можно было открыть более 10 лет) или Rich Text File ? Оба они основаны на тексте, и это приведет к значительному уменьшению боли. Они, как результат, очень просты в использовании шаблона.

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

я думаю, это поможет вам

docxtemplater-мастер

Создание docx из шаблонов, https://github.com/edi9999/docxtemplater

phpdocx

Библиотека PHP для динамического создания документов Word в формате docx.

http://www.phpdocx.com/

Проверьте http://www.phpbuilder.com/annotate/message.php3?id=1024286, а также статью, которую он комментирует.

Я сделал подобный трюк, когда мне нужно было создать простую таблицу excel. При отправке правого заголовка клиентское преследование вообще не жаловалось. Или, если вы можете использовать другой формат напрямую, используйте его. (.docx или открытый документ сжаты xml, поэтому вы можете легко манипулировать им)