Как использовать несколько стилей для одной и той же глубины? - PullRequest
0 голосов
/ 15 мая 2019

У меня небольшие проблемы с PHPWord. Попытка использовать addTitle с той же глубиной, но с другими стилями. Сейчас я определяю свои стили в верхней части страницы, я пытался переписать их на лету, но, к сожалению, это не работает.

Я вижу, это уже проблема на github. https://github.com/PHPOffice/PHPWord/issues/1397

Ссылка на документацию https://phpword.readthedocs.io/en/latest/

$phpWord->addTitleStyle(1, $fontStyles["HEADING_ONE_SPLIT"], $paragraphStyles["HEADING_ONE_DEFAULT"]);

$sceneSection->addTitle('MY TITLE', 1);

$phpWord->addTitleStyle(1, $fontStyles["HEADING_ONE_SPLIT"], $paragraphStyles["HEADING_ONE_SPLIT"]);

$sceneSection->addTitle('MY TITLE WITH DIFFERENT STYLE', 1);

В основном стиль не меняется вообще. Я добавляю вкладку и выравниваю по левому краю со вторым стилем абзаца заголовка, но он не применяется.

Просто обратите внимание, что мои стили шрифта и стили абзаца отлично работают на разных глубинах. Проблема в том, что я создаю оглавление на основе их глубины, но для некоторых титров нужны разные стили на глубину.

1 Ответ

0 голосов
/ 17 мая 2019

PHPword (0.16.0), похоже, не поддерживает переопределение уже существующих стилей заголовков (или любого именованного стиля в этом отношении) - если стиль заголовка для определенной глубины уже определен, второй вызов addTitleStyle просто игнорируется.Вы можете проверить функцию setStyleValues ​​в Style.php в источнике для получения более подробной информации.

...