Загрузите документ MS Word 2007 с классом TinyButStrong и без расширения файла.docx

Я пытаюсь объединить документы с библиотекой TBS, но когда я пытаюсь загрузить документ MS Word 2007 с $tbs->LoadTemplate($path_file), Это не работает, у меня нет ошибки, но сгенерированный файл поврежден.

Я знаю, откуда возникла проблема: $path_file не имеет расширения .docx потому что если я пытаюсь загрузить файл с .docx расширение, все работает правильно. Но я не могу использовать этот способ, я должен использовать файл без расширения (файлы загружаются пользователями на сервер и хранятся без расширения, и я не могу изменить функции для загрузки файлов).

Так что я хочу знать, как я могу открыть .docx без расширения с TBS?

3 ответа

Решение

Проблема решается путем создания временного файла с расширением (расширение хранится в базе данных). Я загружаю шаблон, используя temp, и удаляю его сразу после.

Я предполагаю, что вы используете плагин OpenTBS для TinyButStrong, который создает документы Docx.

Сейчас есть новая версия 1.6.0, которая все еще находится в бета-версии, но доступна для скачивания. Эта последняя версия может распознавать тип документа не только по его расширению, но и по вложенному файлу. В конце у него также есть новая команда, которая позволяет вам принудительно установить тип документа.

Увидеть:

http://www.tinybutstrong.com/news.php

http://www.tinybutstrong.com/plugins/opentbs/tbs_plugin_opentbs.html

Скорее всего, это не проблема расширения, а проблема формата.

.docx формат файла на основе XML TBS может работать с заполнителями в XML-документах, так что все в порядке - простой поиск и замена будут работать.

Старый .doc Формат файла проприетарный. Его структура не известна широкой публике и не основана на XML. Вы не можете искать и заменять содержимое там, как в документе XML.

То, что вы хотите сделать, возможно, невозможно со старыми файлами.doc.

Другие вопросы по тегам