2013-07-13 6 views
5

Je me demandais s'il y avait un moyen d'audacieux certains mots sur une ligne. Par exemple, si je voulais un troisième mot sur une ligne en gras, comment le ferais-je? J'utilise actuellement addText mais cela nécessite que toute la ligne soit en gras ou pas en gras. Toute réponse serait grandement appréciée.PHPWord gras certains mots sur une ligne

Répondre

4

Vous devrez utiliser la méthode createTextRun(). Je l'ai essayé avec le fichier Text.php du dossier Examples, et voici le code correspondant à votre problème:

$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); 
    } 
} 

Vous pouvez modifier pour obtenir ce que vous voulez, mais, au fond, à l'aide de la méthode mentionnée, il est possible de obtenir différents styles dans la même ligne.

+0

Merci cela a beaucoup aidé! – user2579723

+1

J'ai fait une fonction rapide pour faire ce dont vous avez besoin, vous pouvez le trouver ici -> http://pastebin.com/qDMcsivW – Jake

+0

Est-ce que quelqu'un sait si la mise en forme en ligne peut être appliquée également lors de l'utilisation addListItem() pour le texte à puces? –

Questions connexes