Я попробовал еще один пост здесь, стили заголовка не применяются, но этот код тоже ничего не сделал. Здесь мой PHPWord строит разделы, которые отображают жестко запрограммированные переменные, используя «Open Sans» успешно; но когда я переключаюсь на отображение информации в таблице, по умолчанию всегда используется «Arial» 10. Пожалуйста, посмотрите, если вы можете помочь объяснить, почему это происходит, спасибо! Примечание. Чтобы получить выходные данные для равномерного отображения строк от ячейки к ячейке, я пытаюсь использовать другие стили в тексте. Даже когда я применяю $ BodyFontStyle к каждому addCell, addText и addRow, все равно - только Arial. Мне нужна таблица для отображения в "Open Sans" 10. Помогите, пожалуйста -
$firstRowStyle = array('name' => 'Open Sans', 'size' => 10, 'valign' => 'bottom');
$BodyFontStyle = array('name'=>'Open Sans', 'bold'=>false, 'size'=>14);
$table_cell_style = array('valign' => 'top');
$lineStyle = array('name' => 'Open Sans', 'size' => 10, 'valign' => 'bottom');
//from above, this flag is not set, or set:
if ($signatory_found == 1) { //from mySQL query looking for Signatory.
$PHPWord->addTableStyle('BodyFontStyle', array('name'=>'Open Sans', 'bold'=>false, 'size'=>14));
$table = $section->addTable('BodyFontStyle');
//tried this, to no avail:
//$PHPWord->addTableStyle($BodyFontStyle);
//$table = $section->addTable($BodyFontStyle);
for ($i=0; $i <= $counter; $i++) {
$table->addRow();
$table->addCell(1600, $firstRowStyle)->addText("BY:_____________________________________________________");
$table->addCell(200, $firstRowStyle)->addText('');
$table->addCell(1600, $firstRowStyle)->addText(" ____________________________");
$table->addRow();
$full_name_title = " " . $signatory_results[$i]['first'] . " " . $signatory_results[$i]['last'] . ", " . $signatory_results[$i]['title'];
$table->addCell(1600, $table_cell_style)->addText("{$full_name_title}");
$table->addCell(200, $firstRowStyle)->addText(''); //space between name, and date.
$table->addCell(1600, $table_cell_style)->addText(" Date");
}
} else { //else signatory flag was not set to 1, so no records found.
$table = $section->addTable('BodyFontStyle');
$PHPWord->addTableStyle('BodyFontStyle', array('name'=>'Open Sans', 'bold'=>false, 'size'=>14));
$table->addRow();
$table->addCell(1600, $firstRowStyle)->addText("BY:_________________________________");
$table->addCell(200, $firstRowStyle)->addText('');
$table->addCell(1600, $firstRowStyle)->addText("_______________________");
$table->addRow();
$table->addCell(1600, $firstRowStyle)->addText(" Signature");
$table->addCell(200, $firstRowStyle)->addText('');
$table->addCell(1600, $firstRowStyle)->addText(" Date");
$table->addRow();
$table->addCell(1600, $lineStyle)->addText(" ____________________________________", array(), array('cellMarginLeft' => 6));
$table->addCell(200, $firstRowStyle)->addText('');
$table->addCell(1600, $firstRowStyle)->addText("_______________________");
$table->addRow();
$table->addCell(1600, $table_cell_style)->addText(" Print Name");
$table->addCell(200, $firstRowStyle)->addText('');
$table->addCell(1600, $table_cell_style)->addText(" Print Title");
}
// Hack - Martin/Pitt has a / in the LP Short name which messes up the filename/path
$LPShort = str_replace("/", "-", $LPShort);
$LPShort = str_replace(" ", "-", $LPShort);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter( $PHPWord, 'Word2007' );
$filelocation = '/var/www/company/contracts/tmp';
$filename = 'Sig_'.$LPShort."_".date('YmdHis',time()).'.docx';
$FullName = $filelocation.'/'.$filename;
//echo $FullName;
$objWriter->save($FullName);
echo $filename;
exit;