В данной статье для создания документа .docx на основании шаблона будем использовать библиотеку PHPWord.
public function setValue($search, $replace) { if(substr($search, 0, 2) !== '${' && substr($search, -1) !== '}') { $search = '${'.$search.'}'; } if(!is_array($replace)) { $replace = utf8_encode($replace); } $this->_documentXML = str_replace($search, $replace, $this->_documentXML); }
public function setValue($search, $replace) { if(substr($search, 0, 2) !== '${' && substr($search, -1) !== '}') { //было - $search = '${'.$search.'}'; $search = '/\$\{.*?'.$search.'.*?\}/is'; } if(!is_array($replace)) { //$replace = utf8_encode($replace); } $this->_documentXML = preg_replace($search, $replace, $this->_documentXML); }
include_once 'PHPWord.php'; //подключение библиотеки $word = new PHPWord(); //создание документа $document = $word->loadTemplate('act_template.docx'); //загрузка шаблона документа $document->setValue('number', $number_param); //заполнение метки значением $document->setValue('year', $year_param); $document->save('file_act_'.$number_param.'.docx'); //сохранение файла в файловой системе bitrix
Библиотека PHPWord располагает большим количеством методов для изменения свойств документа, форматирования текста, разделов документа, добавления изображений, таблиц, списков и др.