Example #1
0
 /**
  * Set/get image relation Id
  */
 public function testImageRelationId()
 {
     $src = __DIR__ . '/../_files/documents/sheet.xls';
     $oObject = new Object($src);
     $iVal = rand(1, 1000);
     $oObject->setImageRelationId($iVal);
     $this->assertEquals($iVal, $oObject->getImageRelationId());
 }
Example #2
0
 /**
  * Add OLE-object element
  *
  * All exceptions should be handled by \PhpOffice\PhpWord\Element\Object
  *
  * @param string $src
  * @param mixed $style
  * @return Object
  * @throws \PhpOffice\PhpWord\Exception\Exception
  * @todo Enable OLE object element in header and footer
  */
 public function addObject($src, $style = null)
 {
     $this->checkValidity('object');
     $elementDocPart = $this->checkElementDocPart();
     $object = new Object($src, $style);
     $object->setDocPart($this->getDocPart(), $this->getDocPartId());
     if (!is_null($object->getSource())) {
         $inf = pathinfo($src);
         $ext = $inf['extension'];
         if (strlen($ext) == 4 && strtolower(substr($ext, -1)) == 'x') {
             $ext = substr($ext, 0, -1);
         }
         $icon = realpath(__DIR__ . "/../resources/{$ext}.png");
         $rId = Media::addElement($elementDocPart, 'object', $src);
         $object->setRelationId($rId);
         $rIdimg = Media::addElement($elementDocPart, 'image', $icon, new Image($icon));
         $object->setImageRelationId($rIdimg);
         $this->addElement($object);
         return $object;
     } else {
         throw new InvalidObjectException();
     }
 }