Inheritance: extends PhpOffice\PhpPresentation\AbstractShape, implements PhpOffice\PhpPresentation\ComparableInterface
コード例 #1
0
ファイル: Table.php プロジェクト: phpoffice/phppowerpoint
 /**
  * Create a new \PhpOffice\PhpPresentation\Shape\Table instance
  *
  * @param int $columns Number of columns
  */
 public function __construct($columns = 1)
 {
     // Initialise variables
     $this->rows = array();
     $this->columnCount = $columns;
     // Initialize parent
     parent::__construct();
     // No resize proportional
     $this->resizeProportional = false;
 }
コード例 #2
0
 /**
  * Write pic
  *
  * @param  \PhpOffice\Common\XMLWriter $objWriter XML Writer
  * @param  \PhpOffice\PhpPresentation\Shape\AbstractGraphic $shape
  * @param  int $shapeId
  * @throws \Exception
  */
 protected function writeShapePic(XMLWriter $objWriter, AbstractGraphic $shape, $shapeId)
 {
     // p:pic
     $objWriter->startElement('p:pic');
     // p:nvPicPr
     $objWriter->startElement('p:nvPicPr');
     // p:cNvPr
     $objWriter->startElement('p:cNvPr');
     $objWriter->writeAttribute('id', $shapeId);
     $objWriter->writeAttribute('name', $shape->getName());
     $objWriter->writeAttribute('descr', $shape->getDescription());
     // a:hlinkClick
     if ($shape->hasHyperlink()) {
         $this->writeHyperlink($objWriter, $shape);
     }
     $objWriter->endElement();
     // p:cNvPicPr
     $objWriter->startElement('p:cNvPicPr');
     // a:picLocks
     $objWriter->startElement('a:picLocks');
     $objWriter->writeAttribute('noChangeAspect', '1');
     $objWriter->endElement();
     $objWriter->endElement();
     // p:nvPr
     $objWriter->startElement('p:nvPr');
     /**
      * @link : https://github.com/stefslon/exportToPPTX/blob/master/exportToPPTX.m#L2128
      */
     if ($shape instanceof Media) {
         // p:nvPr > a:videoFile
         $objWriter->startElement('a:videoFile');
         $objWriter->writeAttribute('r:link', $shape->relationId);
         $objWriter->endElement();
         // p:nvPr > p:extLst
         $objWriter->startElement('p:extLst');
         // p:nvPr > p:extLst > p:ext
         $objWriter->startElement('p:ext');
         $objWriter->writeAttribute('uri', '{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}');
         // p:nvPr > p:extLst > p:ext > p14:media
         $objWriter->startElement('p14:media');
         $objWriter->writeAttribute('r:embed', $shape->relationId);
         $objWriter->writeAttribute('xmlns:p14', 'http://schemas.microsoft.com/office/powerpoint/2010/main');
         // p:nvPr > p:extLst > p:ext > ##p14:media
         $objWriter->endElement();
         // p:nvPr > p:extLst > ##p:ext
         $objWriter->endElement();
         // p:nvPr > ##p:extLst
         $objWriter->endElement();
     }
     // ##p:nvPr
     $objWriter->endElement();
     $objWriter->endElement();
     // p:blipFill
     $objWriter->startElement('p:blipFill');
     // a:blip
     $objWriter->startElement('a:blip');
     $objWriter->writeAttribute('r:embed', $shape->relationId);
     $objWriter->endElement();
     // a:stretch
     $objWriter->startElement('a:stretch');
     $objWriter->writeElement('a:fillRect', null);
     $objWriter->endElement();
     $objWriter->endElement();
     // p:spPr
     $objWriter->startElement('p:spPr');
     // a:xfrm
     $objWriter->startElement('a:xfrm');
     $objWriter->writeAttributeIf($shape->getRotation() != 0, 'rot', CommonDrawing::degreesToAngle($shape->getRotation()));
     // a:off
     $objWriter->startElement('a:off');
     $objWriter->writeAttribute('x', CommonDrawing::pixelsToEmu($shape->getOffsetX()));
     $objWriter->writeAttribute('y', CommonDrawing::pixelsToEmu($shape->getOffsetY()));
     $objWriter->endElement();
     // a:ext
     $objWriter->startElement('a:ext');
     $objWriter->writeAttribute('cx', CommonDrawing::pixelsToEmu($shape->getWidth()));
     $objWriter->writeAttribute('cy', CommonDrawing::pixelsToEmu($shape->getHeight()));
     $objWriter->endElement();
     $objWriter->endElement();
     // a:prstGeom
     $objWriter->startElement('a:prstGeom');
     $objWriter->writeAttribute('prst', 'rect');
     // a:avLst
     $objWriter->writeElement('a:avLst', null);
     $objWriter->endElement();
     if ($shape->getBorder()->getLineStyle() != Border::LINE_NONE) {
         $this->writeBorder($objWriter, $shape->getBorder(), '');
     }
     if ($shape->getShadow()->isVisible()) {
         $this->writeShadow($objWriter, $shape->getShadow());
     }
     $objWriter->endElement();
     $objWriter->endElement();
 }
コード例 #3
0
ファイル: Chart.php プロジェクト: phpoffice/phppowerpoint
 /**
  * Get hash code
  *
  * @return string Hash code
  */
 public function getHashCode()
 {
     return md5(parent::getHashCode() . $this->title->getHashCode() . $this->legend->getHashCode() . $this->plotArea->getHashCode() . $this->view3D->getHashCode() . ($this->includeSpreadsheet ? 1 : 0) . __CLASS__);
 }