Example #1
0
 /**
  * Add a by PHP created Image Element
  * 
  * @param string $link
  * @param mixed $style
  * @return PHPWord_Section_MemoryImage
  */
 public function addMemoryImage($link, $style = null)
 {
     $memoryImage = new PHPWord_Section_MemoryImage($link, $style);
     if (!is_null($memoryImage->getSource())) {
         $rID = PHPWord_Media::addHeaderMediaElement($this->_headerCount, $link, $memoryImage);
         $memoryImage->setRelationId($rID);
         $this->_elementCollection[] = $memoryImage;
         return $memoryImage;
     } else {
         trigger_error('Unsupported image type.');
     }
 }
 /**
  * Add new Footer Media Element
  * 
  * @param int $footerCount
  * @param string $src
  * @return int
  */
 public static function addFooterMediaElement($footerCount, $src, PHPWord_Section_MemoryImage $memoryImage = null)
 {
     $mediaId = md5($src);
     $key = 'footer' . $footerCount;
     if (!array_key_exists($key, self::$_footerMedia)) {
         self::$_footerMedia[$key] = array();
     }
     if (!array_key_exists($mediaId, self::$_footerMedia[$key])) {
         $cImg = self::countFooterMediaElements($key);
         $rID = $cImg + 1;
         $cImg++;
         $inf = pathinfo($src);
         $isMemImage = substr(strtolower($inf['extension']), 0, 3) == 'php' ? true : false;
         $media = array();
         if ($isMemImage) {
             $ext = $memoryImage->getImageExtension();
             $media['isMemImage'] = true;
             $media['createfunction'] = $memoryImage->getImageCreateFunction();
             $media['imagefunction'] = $memoryImage->getImageFunction();
         } else {
             $ext = $inf['extension'];
             if ($ext == 'jpeg') {
                 // Office crashes when adding a jpEg Image, so rename to jpg
                 $ext = 'jpg';
             }
         }
         $file = 'image' . $cImg . '.' . strtolower($ext);
         $media['source'] = $src;
         $media['target'] = 'media/' . $key . '_' . $file;
         $media['type'] = 'image';
         $media['rID'] = $rID;
         self::$_footerMedia[$key][$mediaId] = $media;
         return $rID;
     } else {
         return self::$_footerMedia[$key][$mediaId]['rID'];
     }
 }