How to add/set images on PHPOffice/PHPWord Template?

后端 未结 7 737
猫巷女王i
猫巷女王i 2020-12-09 05:33

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\\         


        
7条回答
  •  伪装坚强ぢ
    2020-12-09 06:02

    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');
    

提交回复
热议问题