Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
11 Сентябрь 2012

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

posted in SEO |

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

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

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

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

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

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

imagetable

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

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

kp

У нас 7 комментариев на запись “PHPWord — создание MS Word документов на PHP”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 12.09.2012, Kalvin said:

    Круто, не знал, что так можно, спасибо, буду теперь пользоваться!

  2. 2 On 13.09.2012, Toshik said:

    Очень хорошие примеры, станосится сразу все понятно!

  3. 3 On 14.09.2012, Antony said:

    Отличная возможность, раньше такого делать не приходилось!

  4. 4 On 15.09.2012, PrazdNik said:

    Спасибо, большое. То, что искал. А с excel где можно скрипт глянуть?

  5. 5 On 16.09.2012, FS said:

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

  6. 6 On 18.07.2013, Кирилл said:

    Не знаю в чем проблема, но у меня комментирование не дает результата. Какого вида у вас сама страница генерирующая выходной файл?
    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’);
    ?>

  7. 7 On 03.09.2013, Irina said:

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

Оставить комментарий