Mi chiedevo se esistesse un modo per mettere in evidenza determinate parole su una riga. Per esempio se volessi ogni terza parola su una linea in grassetto, come potrei farlo. Attualmente sto usando addText ma questo richiede che l'intera riga sia in grassetto o non in grassetto. Qualsiasi risposta sarebbe molto apprezzata.PHPWord grassetto determinate parole su una riga
5
A
risposta
4
Sarà necessario utilizzare il metodo createTextRun(). Ho provato con Text.php
file dalla cartella di Examples
, e qui è relativo codice per il vostro problema:
$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);
}
}
Si potrebbe modificarlo per ottenere ciò che si vuole, ma, in fondo, utilizzando del metodo di cui, è possibile ottenere stili diversi nella stessa riga.
Grazie a questo ha aiutato un sacco! – user2579723
Ho fatto una rapida funzione per fare quello che ti serve lo puoi trovare qui -> http://pastebin.com/qDMcsivW – Jake
Qualcuno sa se la formattazione inline può essere applicata anche quando si usa addListItem() per il testo puntato? –