phpword неправильно экспортирует изображения base64 в файл docx - PullRequest
0 голосов
/ 11 февраля 2019

phpword неправильно экспортирует изображения base64 в файл docx.

У меня есть HTML с изображениями base64.Я хочу экспортировать этот HTML в файл DOCX.я использую phpword.

$html = $obText->getHtml();

$pw = new \PhpOffice\PhpWord\PhpWord();

$section = $pw->addSection();

\PhpOffice\PhpWord\Shared\Html::addHtml($section, $html, false, false);

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($pw, 'Word2007');

$objWriter->save($finalFilePath);

после этого - у меня есть файл docx с текстами, таблицами, но без изображений.Зачем?в чем дело?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Я нашел решение.В моем случае проблема заключалась в том, что тег html img был недействительным.Причина была в том, что CRM, где я храню данные, добавил специальные символы новой строки к данным изображения base64.

, поэтому я просто сделал $ html = str_replace ("% 0D% 0A", "", $ html);

0 голосов
/ 11 февраля 2019

в исходном PHPOffice

'img' => array('Image', .....

preg_match('/data:image\/(\w+);base64,(.+)/', $src, $match);

шаблон должен быть похожим

<img src="data:image/gif;base64,--base64-coded-data---">

...