Как добавить стили к входящему HTML в PHPWord - PullRequest
0 голосов
/ 24 октября 2019

В phpword я вижу, что раньше вы могли передавать массив стилей в функцию addHTML, но не больше.

Если в моем HTML нет встроенных стилей, есть ли способуказать fontStyle и paraStyle, чтобы он не заканчивался как обычный Arial 10pt в файле Word?

Я добился определенного успеха, установив стили по умолчанию перед вызовом addHTML:

$phpWord->setDefaultFontName('...');
$phpWord->setDefaultFontSize('...');
$phpWord->setDefaultParagraphStyle('...');

Однако это не полный стиль шрифта. Например, как бы вы изменили цвет текста?

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Кажется, наиболее универсальным решением является добавление стилей непосредственно в ваш html перед вызовом addHTML (). Что-то вроде ...

$html = str_replace("<p>", 
    "<p style='font-size: 10pt; font-family: Arial; color:#595959; line-height: 140%; margin-bottom: 160pt;'>", 
    $html);
0 голосов
/ 24 октября 2019

Следуйте doc , это будет примерно так:

// New document
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// New empty section
$section = $phpWord->addSection();
// Set font-styles
$fontStyle = new \PhpOffice\PhpWord\Style\Font();
$fontStyle->setName('Tahoma');
$fontStyle->setSize(13);
// Adding text and font-styles to the section
$myTextElement = $section->addText("Bla bla bla");
$myTextElement->setFontStyle($fontStyle);

Таким образом, вы можете использовать $ fontStyle в качестве стиля по умолчанию для всего текста, который вы создаете.

...