2013-07-13 16 views
5

पर कुछ निश्चित बोल्ड बोल्ड मैं सोच रहा था कि लाइन पर कुछ निश्चित शब्दों को बोल्ड करने का कोई तरीका था या नहीं। उदाहरण के लिए यदि मैं बोल्ड लाइन पर हर तीसरे शब्द को चाहता था, तो मैं इसे कैसे करूँगा। मैं वर्तमान में addText का उपयोग कर रहा हूं लेकिन इसके लिए पूरी लाइन बोल्ड या बोल्ड नहीं होने की आवश्यकता है। किसी भी तरह की प्रतिक्रियाओं का स्वागत किया जाएगा।PHPWord एक पंक्ति

उत्तर

4

आपको createTextRun() विधि का उपयोग करने की आवश्यकता होगी। मैं Examples फ़ोल्डर से Text.php फ़ाइल के साथ की कोशिश की है, और यहाँ कोड आपकी समस्या के लिए प्रासंगिक है:

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

आप इसे tweak सकता है आप क्या चाहते हैं पाने के लिए, लेकिन, मूल रूप से उल्लेख किया है विधि का उपयोग करके, यह संभव है एक ही पंक्ति में विभिन्न शैलियों को प्राप्त करें।

+0

धन्यवाद इसने बहुत मदद की! – user2579723

+1

मैंने आपको जो कुछ भी चाहिए उसे करने के लिए मैंने एक त्वरित कार्य किया है -> http://pastebin.com/qDMcsivW – Jake

+0

क्या किसी को पता है कि बुलेट टेक्स्ट के लिए addListItem() का उपयोग करते समय इनलाइन स्वरूपण भी लागू किया जा सकता है? –