Exemplo n.º 1
0
 /**
  * Write object element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Object) {
         return;
     }
     $rIdObject = $element->getRelationId() + ($element->isInSection() ? 6 : 0);
     $rIdImage = $element->getImageRelationId() + ($element->isInSection() ? 6 : 0);
     $shapeId = md5($rIdObject . '_' . $rIdImage);
     $objectId = $element->getRelationId() + 1325353440;
     $style = $element->getStyle();
     $styleWriter = new ImageStyleWriter($xmlWriter, $style);
     if (!$this->withoutP) {
         $xmlWriter->startElement('w:p');
         $styleWriter->writeAlignment();
     }
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:object');
     $xmlWriter->writeAttribute('w:dxaOrig', '249');
     $xmlWriter->writeAttribute('w:dyaOrig', '160');
     // Icon
     $xmlWriter->startElement('v:shape');
     $xmlWriter->writeAttribute('id', $shapeId);
     $xmlWriter->writeAttribute('type', '#_x0000_t75');
     $xmlWriter->writeAttribute('style', 'width:104px;height:67px');
     $xmlWriter->writeAttribute('o:ole', '');
     $xmlWriter->startElement('v:imagedata');
     $xmlWriter->writeAttribute('r:id', 'rId' . $rIdImage);
     $xmlWriter->writeAttribute('o:title', '');
     $xmlWriter->endElement();
     // v:imagedata
     $xmlWriter->endElement();
     // v:shape
     // Object
     $xmlWriter->startElement('o:OLEObject');
     $xmlWriter->writeAttribute('Type', 'Embed');
     $xmlWriter->writeAttribute('ProgID', 'Package');
     $xmlWriter->writeAttribute('ShapeID', $shapeId);
     $xmlWriter->writeAttribute('DrawAspect', 'Icon');
     $xmlWriter->writeAttribute('ObjectID', '_' . $objectId);
     $xmlWriter->writeAttribute('r:id', 'rId' . $rIdObject);
     $xmlWriter->endElement();
     // o:OLEObject
     $xmlWriter->endElement();
     // w:object
     $xmlWriter->endElement();
     // w:r
     $this->endElementP();
     // w:p
 }
Exemplo n.º 2
-1
 /**
  * Write watermark element
  */
 private function writeWatermark(XMLWriter $xmlWriter, ImageElement $element)
 {
     $rId = $element->getRelationId();
     $style = $element->getStyle();
     $style->setPositioning('absolute');
     $styleWriter = new ImageStyleWriter($xmlWriter, $style);
     $xmlWriter->startElement('w:p');
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:pict');
     $xmlWriter->startElement('v:shape');
     $xmlWriter->writeAttribute('type', '#_x0000_t75');
     $styleWriter->write();
     $xmlWriter->startElement('v:imagedata');
     $xmlWriter->writeAttribute('r:id', 'rId' . $rId);
     $xmlWriter->writeAttribute('o:title', '');
     $xmlWriter->endElement();
     // v:imagedata
     $xmlWriter->endElement();
     // v:shape
     $xmlWriter->endElement();
     // w:pict
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->endElement();
     // w:p
 }