Загрузить документ MS Word 2007 с классом TinyButStrong и без расширения файла .docx - PullRequest
0 голосов
/ 19 мая 2011

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

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

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

Ответы [ 3 ]

1 голос
/ 26 мая 2011

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

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

См .:

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

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

0 голосов
/ 20 мая 2011

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

0 голосов
/ 19 мая 2011

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

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

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

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

...