PHPWord – создание MS Word документов на PHP


Опять же – постановка ТЗ заказчиком о формировании коммерческого предложения с интернет-магазина в виде готового MS Word файла.

Ранее мне доводилось работать с MS Excel документами, а вот с вордом нет.
Ну что же – COM технология сразу отметается, т.к. на веб-серверах как правило офис не стоит, по крайней мере у меня на серваке точно 🙂

Итак, нужна библиотека, конечно же Open Source – недолго погуглив выходим на уже знакомый по Excel брэнд CodePlex – на этот раз PHPWord.

Собственно, всё предельно ясно – на морде описание возможностей, в секции для скачивания готовый архивчик с наглядными демонстрационными примерами – качаем, смотрим.

Лично меня интересовали возможности вывода картинок, таблиц и форматирования текста – всё это присутствует.

Вот результаты работы демо-скриптиков (скриншоты docx файлов) :

imagetable

Грабли на которые я наступил:
1. Русская кодировка – решение
2. Обтекание картинок текстом – решение в использовании таблиц

Два дня мучений и вот чего получилось:

kp


7 комментариев на «“PHPWord – создание MS Word документов на PHP”»

  1. надо же до чего техника дошла 🙂
    судя по скринам полезная штука. Спасибо за информацию 🙂

  2. Не знаю в чем проблема, но у меня комментирование не дает результата. Какого вида у вас сама страница генерирующая выходной файл?
    cre­ate­Sec­tion();
    $section->addText(‘Типо любой русский текст’);
    header(‘Content-Type: application/vnd.ms-word; charset = utf-8\r\n”’);
    header(‘Content-Disposition: attachment;filename=“document.docx”’);
    header(‘Cache-Control: max-age=0′);
    $objWriter = PHPWord_IOFactory::createWriter($PHPWord, ‘Word2007’);
    $objWriter->save(‘php://output’);
    ?>

  3. А подскажите пожалуйста, при создании таблицы мне необходимо создавать документ или я могу вносить таблицу в какойто шаблоннный temp.docx как с заменой переменных ?

Добавить комментарий для FS Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *