Опять же — постановка ТЗ заказчиком о формировании коммерческого предложения с интернет-магазина в виде готового MS Word файла.
Ранее мне доводилось работать с MS Excel документами, а вот с вордом нет.
Ну что же — COM технология сразу отметается, т.к. на веб-серверах как правило офис не стоит, по крайней мере у меня на серваке точно 🙂
Итак, нужна библиотека, конечно же Open Source — недолго погуглив выходим на уже знакомый по Excel брэнд CodePlex — на этот раз PHPWord.
Собственно, всё предельно ясно — на морде описание возможностей, в секции для скачивания готовый архивчик с наглядными демонстрационными примерами — качаем, смотрим.
Лично меня интересовали возможности вывода картинок, таблиц и форматирования текста — всё это присутствует.
Вот результаты работы демо-скриптиков (скриншоты docx файлов) :
Грабли на которые я наступил:
1. Русская кодировка — решение
2. Обтекание картинок текстом — решение в использовании таблиц
7 комментариев на «“PHPWord — создание MS Word документов на PHP”»
Круто, не знал, что так можно, спасибо, буду теперь пользоваться!
Очень хорошие примеры, станосится сразу все понятно!
Отличная возможность, раньше такого делать не приходилось!
Спасибо, большое. То, что искал. А с excel где можно скрипт глянуть?
надо же до чего техника дошла 🙂
судя по скринам полезная штука. Спасибо за информацию 🙂
Не знаю в чем проблема, но у меня комментирование не дает результата. Какого вида у вас сама страница генерирующая выходной файл?
createSection();
$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’);
?>
А подскажите пожалуйста, при создании таблицы мне необходимо создавать документ или я могу вносить таблицу в какойто шаблоннный temp.docx как с заменой переменных ?