2013-07-13 37 views
5

Tôi đã tự hỏi liệu có cách nào để in đậm một số từ nhất định trên một dòng hay không. Ví dụ, nếu tôi muốn mỗi từ thứ ba trên một dòng đậm, làm thế nào tôi sẽ làm điều đó. Tôi hiện đang sử dụng addText nhưng yêu cầu toàn bộ dòng được in đậm hoặc không in đậm. Bất kỳ phản ứng sẽ được đánh giá rất nhiều.PHPWord in đậm một số từ trên một dòng

Trả lời

4

Bạn sẽ cần sử dụng phương thức createTextRun(). Tôi đã thử với Text.php tập tin từ Examples thư mục, và đây là mã có liên quan cho vấn đề của bạn:

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

Bạn có thể tinh chỉnh nó để có được những gì bạn muốn, nhưng, về cơ bản, bằng cách sử dụng các phương pháp đã đề cập, nó có thể có được các phong cách khác nhau trong cùng một dòng.

+0

Cảm ơn bạn điều này đã giúp ích rất nhiều! – user2579723

+1

Tôi đã thực hiện một chức năng nhanh để làm những gì bạn cần bạn có thể tìm thấy ở đây -> http://pastebin.com/qDMcsivW – Jake

+0

Có ai biết nếu định dạng nội tuyến có thể được áp dụng khi sử dụng addListItem() cho văn bản có dấu đầu dòng không? –

Các vấn đề liên quan