Ошибка
Код: Выделить всё
BadMethodCallException
Method getproperties is not defined.
Код: Выделить всё
Class 'PHPWord_Shared_Font' not found
Код: Выделить всё
Class 'PHPWord_IOFactory' not found
Код: Выделить всё
<?php
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\TemplateProcessor;
$general_edu_company="Сокращенное наименование";
$general_edu_company_full="Полное наименование";
$order1set="Текст для обучения по";
$row_order="Дата";
$row_group ="Дата";
$general_edu_company_ceo="general_edu_company_ceo";
$PHPWord = new \PhpOffice\PhpWord\PhpWord();
$PHPWord->setDefaultFontName('Times New Roman');
$PHPWord->setDefaultFontSize(12);
$meta = $PHPWord->getProperties(); //на эту строчку ругается
$meta->setCreator('Конструктор документов');
$meta->setCompany($general_edu_company);
$meta->setTitle('Приказ');
$meta->setDescription('Обучение по '.$order1set);
$meta->setCategory('Приказы по обучению');
//$meta->setLastModifiedBy('Имя последнего редактора');
$meta->setCreated( time() ); // Дата и время создания документа
//$meta->setModified( time() ); //Дата и время последнего изменения документа
$meta->setSubject('ПРИКАЗ провести обучение по '.$order1set);
$meta->setKeywords('приказ, обучение, конструктор, система, дистанционного, обучения');
$sectionStyle = array(
'orientation' => 'portait' // альбомная ориентация страницы
,'marginTop' => '634' // по-умолчанию равен 1418* и соответствует 2,5 см отступа сверху
,'marginLeft' => '718' // по-умолчанию равен 1418* и соответствует 2,5 см отступа слева
,'marginRight' => '718' // по-умолчанию равен 1418* и соответствует 2,5 см отступа справа
,'marginBottom' => '634' // по-умолчанию равен 1134* и соответствует 2 см отступа снизу
//,'pageSizeW' => '8419' // по-умолчанию равен 11906* и соответствует 210 мм по ширине
//,'pageSizeH' => '11906' // по-умолчанию равен 16838* и соответствует 297 мм по высоте
//,'borderColor'=>'999999' // Цвет ненужного бордюра
//,'borderSize'=>'100' // Ширина ненужного бордюра*
);
// New portrait section
$section = $PHPWord->createSection($sectionStyle);
// Add text elements
$PHPWord->addFontStyle('rStyle14', array('bold'=>true, 'size'=>14));
$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>400, 'spaceAfter'=>400));
$section->addText($general_edu_company_full, 'rStyle14', 'pStyle');
$section->addText('ПРИКАЗ', 'rStyle14', 'pStyle');
$PHPWord->addFontStyle('rStyle12', array('size'=>12, 'bold'=>true));
$section->addText('№ от '.date("d.m.Y",$row_order).' г.', 'rStyle12');
$section->addText('«Об организации обучения»');
$section->addText('ПРИКАЗЫВАЮ:', 'rStyle14', 'pStyle');
$PHPWord->addFontStyle('rStyle12n', array('size'=>12));
$PHPWord->addParagraphStyle('pStyle12n', array('spaceAfter'=>100));
$section->addText('1. Провести обучение c '.date("d.m.Y",$row_group).' по '.date("d.m.Y",$row_group['end']).' в соответствии с учебным планом и программой обучения «'.$order1set.'».', 'rStyle12n', 'pStyle12n');
$section->addTextBreak(1);
$section->addText('2. Зачислить в группу № '.$model['num'].' следующих специалистов:', 'rStyle12n', 'pStyle12n');
// Add table
$styleTable = array('borderSize'=>1);
$PHPWord->addTableStyle('myOwnTableStyle', $styleTable);
$table = $section->addTable('myOwnTableStyle');
// Add row
$table->addRow();
// Add cells
$PHPWord->addFontStyle('myOwnCellStyle', array('bold'=>true, 'italic'=>true, 'size'=>12));
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(1.5))->addText('№ п/п', 'myOwnCellStyle');
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(5.5))->addText('Фамилия, имя, отчество', 'myOwnCellStyle');
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(5.5))->addText('Должность', 'myOwnCellStyle');
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(5.5))->addText('Организация', 'myOwnCellStyle');
$r = 1;
//foreach ($users as $user) { // Loop through rows
// $table->addRow();
//
// $row_user = get_mysql("SELECT * FROM `users` AS `u` INNER JOIN `ids` AS `i` ON `i`.`agent_id` = `u`.`id` WHERE `i`.`id`='$user'");
//
// $uname = "$row_user[surname] $row_user[name] $row_user[thirdname]";
// $ucompany = get_some_data('companies',$row_user['id_companies'],'shortname_fk');
// $ujob = $row_user['job'];
//
// $table->addCell(null)->addText("$r");
// $table->addCell(null)->addText("$uname");
// $table->addCell(null)->addText("$ujob");
// $table->addCell(null)->addText("$ucompany");
//
// $r++;
//}
$section->addTextBreak(1);
$section->addText('3. '.$model->num, 'rStyle12n', 'pStyle12n');
$section->addTextBreak(1);
// Add table
$table = $section->addTable();
// Add row
$table->addRow();
// Add cells
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(9.0))->addText('Директор');
$table->addCell(PHPWord_Shared_Font::centimeterSizeToTwips(9.0))->addText($general_edu_company_ceo);
// Save File
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$gname = 'Order'.$_GET['id_group'];
$objWriter->save("$gname.docx");
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=$gname.docx");
readfile("$gname.docx");
unlink("$gname.docx");
?>