Управление документом Microsoft Word Office 2007. .docx с PHP

Мне нужен вариант из PHP для манипулирования документом .docx (Microsoft Office 2007).

Мне нужно:

  1. Чтение внутреннего текста
  2. Преобразовать в .html
  3. Чтобы просмотреть их в браузере.
  4. Заменить текст.

Я знаю, что могу использовать Word Automation, создавая COM-объект Microsoft Word, но он слишком медленный, нестабильный, и я должен установить его на сервере.

Есть ли библиотека или код, который может сделать это с PHP?

Для авторов PHPExcel существует PHPWord.

Docx – это всего лишь ZIP-файл, содержащий несколько файлов XML и встроенные медиафайлы, такие как изображения. Из-за этого вы можете легко читать и редактировать документ. Просто разархивируйте его, откройте word / document.xml, выполните чтение и запись и переупакуйте файлы.

Convet для HTML может быть сложно. Но вы найдете миниатюру первой страницы в docProps / thumbnail.jpeg.

Обратите внимание, что вам придется ознакомиться с структурой XML, чтобы выполнить любые сложные изменения. Существует сводный XML docProps / app.xml, который содержит некоторые метаданные для файла, поэтому не забудьте его обновить. Подробнее из Википедии: http://ru.wikipedia.org/wiki/Office_Open_XML

Вы можете взглянуть на PHPDocX. Я считаю, что он делает все, о чем вы просите.

  1. Вы можете заменить переменные в шаблоне или просто текстовом тексте из документа Word с предварительным кодированием.
  2. Он предлагает множество вариантов преобразования.
  3. Вы также можете извлечь текст.

Вы можете напрямую работать с внутренним форматом.

DOCX – это всего лишь zip-файл, а внутри него есть word / document.xml, содержащий фактический документ.

Очень просто разархивировать файл, прочитать document.xml, str_replace (), что вы ищете, сохранить его и повторно застегнуть каталог, и это упрощает возможность быстрого и простого обмена сообщениями для текстовых документов. Это также работает для других форматов офиса.

Для получения дополнительной информации см. Официальные документы по внутренней структуре .

Существует также класс PHP для слияния нового содержимого в существующий файл .docx. Он доступен здесь: http://www.tinybutstrong.com/ . Документация довольно хороша, а также имеет множество примеров, и все это бесплатно и с открытым исходным кодом. Однако это требует знакомства с концепциями .docx.