Сейчас я работаю с PhpWord. Я добавил раздел header
, и внутри него добавлено два изображения. Изображения должны быть выровнены, один слева и другой справа, но в одной строке. И у меня есть этот код, но только печатает изображения один под другим, только способ, которым я могу их изменить, - это вставить файл.docx.
$header = $section->addHeader();
$header->addImage('http://localhost/doWords/logoRenatea.jpg',
array(
'width' => '291',
'height' => '81',
'align' => 'left',
'marginTop' => -1,
'marginLeft' => -1,
'wrappingStyle' => 'behind'
));
$header->addImage('http://localhost/doWords/logoMTESS.jpg',
array(
'width' => '110',
'height' => '44',
'align' => 'right',
'marginTop' => -1,
'marginLeft' => -1,
'wrappingStyle' => 'infront'
));
Уже пробовал без wrappingStyle, без полей, и не работал. Есть идеи?
Вывод:
Желаемый:
Проблема заключалась в том, что align
не принимает значения left
или right
. Он предпочитает start
и end
соответственно. Но это не все. Мне также нужно было добавить положение абсолютное. Итак, вот код:
$header->addImage('http://localhost/doWords/logoRenatea.jpg',
array(
'width' => '291',
'height' => '81',
'align' => 'start',
'positioning' => 'absolute'
));
$image1 = $header->addImage('http://localhost/doWords/logoMTESS.jpg',
array(
'width' => '110',
'height' => '44',
'align' => 'end'
));
Единственное, что мне не удалось найти, - это поля, но я выровнял изображения, что было главной проблемой.
таблица - это простой способ получить изображения в одной строке
...
$table = $header->addTable(array('width' => '5000', 'unit' => 'pct'));
$table->addRow();
$table->addCell(2000)->addImage(...); // image1 with needed styles
$table->addCell(2000)->addTextRun(array('align' => 'right'))->addImage(...); // image2 with needed styles