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 как с заменой переменных ?

Добавить комментарий

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