Exemple #1
0
 /**
  * Add a OLE-Object Element
  * 
  * @param string $src
  * @param mixed $style
  * @return PHPWord_Section_Object
  */
 public function addObject($src, $style = null)
 {
     $object = new PHPWord_Section_Object($src, $style);
     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);
         }
         $iconSrc = PHPWORD_BASE_PATH . 'PHPWord/_staticDocParts/';
         if (!file_exists($iconSrc . '_' . $ext . '.png')) {
             $iconSrc = $iconSrc . '_default.png';
         } else {
             $iconSrc .= '_' . $ext . '.png';
         }
         $rIDimg = PHPWord_Media::addSectionMediaElement($iconSrc, 'image');
         $data = PHPWord_Media::addSectionMediaElement($src, 'oleObject');
         $rID = $data[0];
         $objectId = $data[1];
         $object->setRelationId($rID);
         $object->setObjectId($objectId);
         $object->setImageRelationId($rIDimg);
         $this->_elementCollection[] = $object;
         return $object;
     } else {
         trigger_error('Source does not exist or unsupported object type.');
     }
 }
Exemple #2
0
 protected function _writeObject(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Object $object)
 {
     $rIdObject = $object->getRelationId();
     $rIdImage = $object->getImageRelationId();
     $shapeId = md5($rIdObject . '_' . $rIdImage);
     $objectId = $object->getObjectId();
     $style = $object->getStyle();
     $width = $style->getWidth();
     $height = $style->getHeight();
     $align = $style->getAlign();
     $objWriter->startElement('w:p');
     if (!is_null($align)) {
         $objWriter->startElement('w:pPr');
         $objWriter->startElement('w:jc');
         $objWriter->writeAttribute('w:val', $align);
         $objWriter->endElement();
         $objWriter->endElement();
     }
     $objWriter->startElement('w:r');
     $objWriter->startElement('w:object');
     $objWriter->writeAttribute('w:dxaOrig', '249');
     $objWriter->writeAttribute('w:dyaOrig', '160');
     $objWriter->startElement('v:shape');
     $objWriter->writeAttribute('id', $shapeId);
     $objWriter->writeAttribute('type', '#_x0000_t75');
     $objWriter->writeAttribute('style', 'width:104px;height:67px');
     $objWriter->writeAttribute('o:ole', '');
     $objWriter->startElement('v:imagedata');
     $objWriter->writeAttribute('r:id', 'rId' . $rIdImage);
     $objWriter->writeAttribute('o:title', '');
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('o:OLEObject');
     $objWriter->writeAttribute('Type', 'Embed');
     $objWriter->writeAttribute('ProgID', 'Package');
     $objWriter->writeAttribute('ShapeID', $shapeId);
     $objWriter->writeAttribute('DrawAspect', 'Icon');
     $objWriter->writeAttribute('ObjectID', '_' . $objectId);
     $objWriter->writeAttribute('r:id', 'rId' . $rIdObject);
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     // w:r
     $objWriter->endElement();
     // w:p
 }