Преобразование Документов Word В Php С Помощью Com (Windows+Apache)

Добрый день, Хабр! Хочу немного поговорить о том, что необходимо сделать при использовании COM-объекта для преобразования файлов word в любой из доступных форматы .

Сам столкнулся со многими проблемами, перерыл множество форумов, русских мануалов практически нет. Решил написать, больше для себя, но может быть кому-то еще будет полезно? Если у вас есть IIS, есть вероятность, что он вам не понадобится, статья исключительно о настройке работы под Apache Первая и основная проблема, вызвавшая разрыв мозга:

Call to undefined method variant::SaveAs()

при попытке сохранить документ. Ээксперименты часто приводили к ошибкам в связи с отсутствием свойства у объекта или ошибкам при синтаксическом анализе документа, наиболее распространенными из которых были

Fatal error: Uncaught exception 'com_exception' with message ' Source: Unknown<br/> Description: Unknown'

Что нужно сделать, чтобы процесс заработал:

  1. Нужен Windows-сервер
  2. Установленный на нем пакет MsOffice (или не весь пакет, а только необходимые его части)
  3. Настройка разрешения COM
    1. Далее перейдите в Пуск-> Администрирование-> Службы компонентов.

    2. Разверните меню «Службы компонентов» -> «Компьютеры» -> «Мой компьютер» -> «Конфигурация DCOM».

    3. В списке ищем нужные нам COM-приложения (как правило, все они начинаются со слов Microsoft.)
    4. Кликните правой кнопкой мыши по интересующему элементу, выберите «Свойства», перейдите на вкладку «Безопасность» в разделе «Права доступа», поставьте точку в «Настроить» и нажмите на кнопку «Изменить».

    5. В появившемся окне нажимаем добавить и добавляем пользователя, имеющего права на запуск apache (в нижнем поле вводим логин пользователя и нажимаем Проверить имена, если все в порядке, то Windows его найдет, нажимаем ок)
    6. Выберите добавленного пользователя из списка и установите флажок Удаленный доступ.

    7. Подтвердите все изменения (нажмите ОК 2 раза)
    8. Повторите шаги 4–7 для нужных приложений.

  4. Настройка Apache
    1. После того, как права на COM раздадутся, в этом же окне (Службы компонентов) переходим в раздел Службы, находим там apache, кликаем по нему правой кнопкой мыши, выбираем Свойства, переходим на вкладку Вход в систему, нажимаем кнопку Обзор, вводим тот же пользователь, что указан выше для COM-объектов, нажмите ОК, введите пароль для учетной записи пользователя, чтобы мог запуститься Apache, нажмите ОК
    2. Перезапустите apache, если все правильно, перезагрузка пройдет успешно.

  5. Настройка php.ini
    1. Открыть php.ini
    2. Ищем раздел [COM]
    3. Распакуем строки:
Теги: #php #word #com #HTML #convert #php
Вместе с данным постом часто просматривают: