2014-01-20 5 views
4

Мне нужно выровнять логотип и текст рядом. Но при создании словарного документа текст всегда появляется под логотипом. Я попробовал решение, указанное здесь: http://phpword.codeplex.com/discussions/232684Как выровнять текст и изображение бок о бок в phpWord?

Но это не сработало для меня. Вот что я пытался (не решение упомянутых выше)

$section = $PHPWord->createSection(); 
$image = $section->addImage('_mars.jpg',array ('width'=>100)); 
// Add table 
$table = $section->addTable(); 
for($r = 1; $r <= 1; $r++) { // Loop through rows 
    // Add row 
    $table->addRow(); 
    for($c = 1; $c <= 1; $c++) { // Loop through cells 
     // Add Cell 
    //I tried adding image in this line. 
    $table->addCell(1750)->addText("Row $r,Cell ". 
$section->addImage('_mars.jpg',array('width'=>100))); 
    } 
} 

, и я получаю эту ошибку в

$section->addImage() partCatchable fatal error: Object of class PHPWord_Section_Image could not be converted to string in 

Может кто-нибудь сказать мне, как я могу добавить изображение в ячейке таблицы?

ответ

6

Вы должны использовать текстовый пробег:

$section = $PHPWord->createSection(); 
$image = $section->addImage('_mars.jpg',array ('width'=>100)); 
// Add table 
$table = $section->addTable(); 
for($r = 1; $r <= 1; $r++) { // Loop through rows 
    // Add row 
    $table->addRow(); 
    for($c = 1; $c <= 1; $c++) { // Loop through cells 
     // Add Cell 
     $cell = $table->addCell(1750); 
     $textrun = $cell->createTextRun(); 
     $textrun->addText("Row $r,Cell "); 
     $textrun->addImage('_mars.jpg',array('width'=>100)); 
    } 
} 

Ссылка: TextRun