редактировать загруженный файл DOCX в PHP - PullRequest
1 голос
/ 25 ноября 2011

Мне нужно открыть загруженный файл .docx и возможность изменять значения.Я знаю, что docx файл состоит из xml файлов.Итак, главный вопрос: может, кто-нибудь знает хороший XML-редактор WYSIWYG?Я знаю, что называется XOPUS, но я не знаю, как его настроить.Может быть, кто-то знает другие альтернативы для этой задачи или советы, как поместить файл xml в текстовое поле, где я мог бы изменить значения.

Ответы [ 3 ]

2 голосов
/ 25 ноября 2011

Есть несколько наборов инструментов PHP, которые вы можете использовать для этой задачи, во-первых, в codeplex есть ранняя разработка:

http://openxmlapi.codeplex.com/

Однако вы можете выиграть с одним из более зрелых:

http://holloway.co.nz/docvert/index.html
http://www.phpdocx.com/

Оба из них могут конвертировать из docx в большинство популярных форматов, включая HTML.

После того, как вы преобразовали что-то вроде HTML, вы можете использовать экранный редактор, например, крошечный MCE:

http://www.tinymce.com/

Чтобы обеспечить богатые возможности редактирования страниц, прежде чем, наконец, использовать вышеупомянутые наборы инструментов для преобразования обратно в DOCX или любой другой применимый формат.

Обновление за февраль 2014 года

С тех пор, как я впервые написал этот ответ, дела пошли дальше. Открытые xml-комплекты, о которых я упоминал выше, все еще действительны, однако в редактировании страниц теперь больше возможностей, чем когда-либо, используя новые атрибуты редактируемого содержимого HTML5 и режима редактирования.

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

Подключив кнопки к «document.execCommand», можно затем отправлять, выделенные жирным шрифтом, курсивом, подчеркиванием, созданием ссылок и изображений, вставкой в ​​список и всеми другими методами HTML-конструкций непосредственно в этот div, не требуя ничего вроде tinyMce или другого на странице. редактор больше.

В сети разработчиков Mozilla есть полная информация, и я планирую в ближайшее время написать в блоге сообщение об использовании этого материала.

2 голосов
/ 25 ноября 2011

Вы пробовали PHPWord ?

1 голос
/ 09 сентября 2012

Можно использовать класс DocxUtilities PHPDocX , чтобы частично редактировать существующий документ Word.

Этот класс позволяет:

  1. искатьи замену определенной строки текста
  2. поиск строки текста и удаление содержащего абзаца или раздела
  3. выделение предопределенных строк (поиск и выделение)
  4. полное объединение файлов DOCX(текст, изображения, диаграммы, сноски, ...)

Если этого недостаточно для ваших целей, вам следует подготовить шаблон PHPDocX для полной настройки существующего документа Word.

...