2013-07-13 11 views
5

Мне было интересно, есть ли способ выделить некоторые слова на линии. Например, если бы я хотел, чтобы каждое третье слово выделено жирным шрифтом, как бы я это сделал. В настоящее время я использую addText, но для этого требуется, чтобы вся строка была полужирным или не жирным. Любые ответы будут высоко оценены.PHPWord смелые определенные слова на строке

ответ

4

Вам нужно будет использовать метод createTextRun(). Я попытался с Text.php файлом из Examples папки, а вот код актуален для вашей проблемы:

$textrun = $section->createTextRun(); 
$sentence='I am sentence, and every third word will be bold. This is bold.'; 
$word_arr=explode(' ', $sentence); 

$styleFont = array('bold'=>true, 'size'=>16, 'name'=>'Calibri'); 
$styleFont2 = array('bold'=>false, 'size'=>16, 'name'=>'Calibri'); 

$c = 0; 
for($i = 0; $i < count($word_arr); $i++) 
{ 
    $c++; 
    if($c % 3 == 0) 
    { 
     $textrun->addText($word_arr[$i].' ', $styleFont); 
    } 
    else 
    { 
     $textrun->addText($word_arr[$i].' ', $styleFont2); 
    } 
} 

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

+0

Спасибо, что это помогло! – user2579723

+1

Я быстро выполнил все, что вам нужно, вы можете найти его здесь -> http://pastebin.com/qDMcsivW – Jake

+0

Кто-нибудь знает, может ли встроенное форматирование применяться и при использовании addListItem() для маркированного текста? –