How to add/set images on PHPOffice/PHPWord Template?
php, phpword
Solution
Following code is the updated version of the one from TotPeRo (thanks again for your code!), for last phpOffice (0.11) that has evolved a little
/**
* Set a new image
*
* @param string $search
* @param string $replace
*/
public function setImageValue($search, $replace)
{
// Sanity check
if (!file_exists($replace))
{
return;
}
// Delete current image
$this->zipClass->deleteName('word/media/' . $search);
// Add a new one
$this->zipClass->addFile($replace, 'word/media/' . $search);
}
Can be called with:
$document->setImageValue('image1.jpg', 'my_image.jpg');
Problem
I have an instance of a template on PHPWord. Is it possible to replace or add an image? Something like a setImageValue? ``` $phpWord = new \PhpOffice\PhpWord\Template('a.docx'); $phpWord->setImageValue('IMAGE_PLACEHOLDER', 'a.jpg'); $phpWord->saveAs('b.docx'); ``` Is something like this possible?