Я использую PHPWord для загрузки файла шаблона и создания нового файла из него.
$templateName = 'QuoteTemplate1.docx';
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($templateName);
$values = ['clientAddressName' => $quote->company_name]; // this array typically has more values
foreach ($values as $key => $value) {
$templateProcessor->setValue($key, $value);
}
Затем я добавляю в этот шаблон настраиваемую таблицу, код выглядит так:
$table = new PhpOffice\PhpWord\Element\Table([
'borderSize' => 0,
'borderColor' => 'none',
'width' => 9200,
'unit' => PhpOffice\PhpWord\SimpleType\TblWidth::TWIP
]);
$table->addRow();
$table->addCell(150)->addText('Cell A1');
$table->addCell(150)->addText('Cell A2');
$table->addCell(150)->addText('Cell A3');
$table->addRow();
$table->addCell(150)->addText('Cell B1');
$table->addCell(150)->addText('Cell B2');
$table->addCell(150)->addText('Cell B3');
$templateProcessor->setComplexBlock('quoteItemTable', $table);
Я хочу добавить шрифты и стили абзаца к тексту в этой пользовательской таблице - вот в чем проблема.
Если я попробую что-то вроде этого:
$templateProcessor->addParagraphStyle('rightAlign', ['alignment' => 'right']);
Я получаю ошибки (addParagraphStyle не является распознанным методом $ templateProcessor). И если я попытаюсь:
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$phpWord->addParagraphStyle('rightAlign', ['alignment' => 'right']);
$table->addCell(25)->addText('Cell A1', 'fontStyle', 'rightAlign');
Тогда я не получу ошибок, но мой стиль абзаца rightAlign игнорируется. Обратите внимание, что я получаю те же результаты, когда пытаюсь выполнить шаги со стилями шрифтов и стилями абзацев.
Как я могу установить свой собственный стиль шрифта и абзаца в процессоре шаблонов?