/** * Test create new instance */ public function testConstruct() { $object = new PhpPowerpoint(); $slide = $object->getSlide(); $this->assertEquals(new DocumentProperties(), $object->getProperties()); $this->assertEquals(new DocumentLayout(), $object->getLayout()); $this->assertInstanceOf('PhpOffice\\PhpPowerpoint\\Slide', $object->getSlide()); $this->assertEquals(1, count($object->getAllSlides())); $this->assertEquals(0, $object->getIndex($slide)); $this->assertEquals(1, $object->getSlideCount()); $this->assertEquals(0, $object->getActiveSlideIndex()); $this->assertInstanceOf('PhpOffice\\PhpPowerpoint\\Slide\\Iterator', $object->getSlideIterator()); }
use PhpOffice\PhpPowerpoint\Shape\Chart\Type\Bar3D; use PhpOffice\PhpPowerpoint\Shape\Chart\Type\Line; use PhpOffice\PhpPowerpoint\Shape\Chart\Type\Pie3D; use PhpOffice\PhpPowerpoint\Shape\Chart\Type\Scatter; use PhpOffice\PhpPowerpoint\Shape\Chart\Series; use PhpOffice\PhpPowerpoint\Style\Alignment; use PhpOffice\PhpPowerpoint\Style\Border; use PhpOffice\PhpPowerpoint\Style\Color; use PhpOffice\PhpPowerpoint\Style\Fill; use PhpOffice\PhpPowerpoint\Style\Shadow; // Create new PHPPowerPoint object echo date('H:i:s') . ' Create new PHPPowerPoint object' . EOL; $objPHPPowerPoint = new PhpPowerpoint(); // Set properties echo date('H:i:s') . ' Set properties' . EOL; $objPHPPowerPoint->getProperties()->setCreator('PHPOffice')->setLastModifiedBy('PHPPowerPoint Team')->setTitle('Sample 07 Title')->setSubject('Sample 07 Subject')->setDescription('Sample 07 Description')->setKeywords('office 2007 openxml libreoffice odt php')->setCategory('Sample Category'); // Remove first slide echo date('H:i:s') . ' Remove first slide' . EOL; $objPHPPowerPoint->removeSlideByIndex(0); // Set Style $oFill = new Fill(); $oFill->setFillType(Fill::FILL_SOLID)->setStartColor(new Color('FFE06B20')); $oShadow = new Shadow(); $oShadow->setVisible(true)->setDirection(45)->setDistance(10); // Generate sample data for chart echo date('H:i:s') . ' Generate sample data for chart' . EOL; $seriesData = array('Monday' => 12, 'Tuesday' => 15, 'Wednesday' => 13, 'Thursday' => 17, 'Friday' => 14, 'Saturday' => 9, 'Sunday' => 7); // Create templated slide echo EOL . date('H:i:s') . ' Create templated slide' . EOL; $currentSlide = createTemplatedSlide($objPHPPowerPoint); // Create a line chart (that should be inserted in a shape)
echo date('H:i:s') . ' Create templated slide' . EOL; $currentSlide = createTemplatedSlide($objPHPPowerPoint); // Create a shape (text) echo date('H:i:s') . ' Create a shape (rich text) with shadow' . EOL; $shape = $currentSlide->createRichTextShape(); $shape->setHeight(100); $shape->setWidth(400); $shape->setOffsetX(100); $shape->setOffsetY(100); $shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT); $shape->getShadow()->setVisible(true)->setAlpha(75)->setBlurRadius(2)->setDirection(45); $textRun = $shape->createTextRun('RichText with shadow'); $textRun->getFont()->setColor(new Color('FF000000')); } // Create new PHPPowerPoint object echo date('H:i:s') . ' Create new PHPPowerPoint object' . EOL; $objPHPPowerPoint = new PhpPowerpoint(); // Set properties echo date('H:i:s') . ' Set properties' . EOL; $oProperties = $objPHPPowerPoint->getProperties(); $oProperties->setCreator('PHPOffice')->setLastModifiedBy('PHPPowerPoint Team')->setTitle('Sample 11 Title')->setSubject('Sample 11 Subject')->setDescription('Sample 11 Description')->setKeywords('office 2007 openxml libreoffice odt php')->setCategory('Sample Category'); // Remove first slide echo date('H:i:s') . ' Remove first slide' . EOL; $objPHPPowerPoint->removeSlideByIndex(0); fnSlideRichText($objPHPPowerPoint); fnSlideRichTextShadow($objPHPPowerPoint); // Save file echo write($objPHPPowerPoint, basename(__FILE__, '.php'), $writers); if (!CLI) { include_once 'Sample_Footer.php'; }
public function postFinalpresentation() { $id_result = Input::get('id_result'); $resulted = AutomateModel::where('id', $id_result)->first(); // $range_name_id = Input::get('range_name_id'); $result = LogChartModel::where('id_result', $id_result)->get(); $objPHPPowerPoint = new PhpPowerpoint(); // Set properties // echo date('H:i:s') . ' Set properties' . EOL; $objPHPPowerPoint->getProperties()->setCreator('HAT Developer')->setLastModifiedBy('HAT Developer')->setTitle('Sample 07 Title')->setSubject('Sample 07 Subject')->setDescription('Sample 07 Description')->setKeywords('office 2007 openxml libreoffice odt php')->setCategory('Sample Category'); // Remove first slide // echo date('H:i:s') . ' Remove first slide' . EOL; $objPHPPowerPoint->removeSlideByIndex(0); // Set Style $oFill = new Fill(); // $oFill->setFillType(Fill::FILL_SOLID)->setStartColor(new Color('FFE06B20')); $oShadow = new Shadow(); $oShadow->setVisible(true)->setDirection(45)->setDistance(10); //FIRST SLIDE $currentSlide = $this->createTemplatedSlide($objPHPPowerPoint); // local function // Create a shape (text) // Create a shape (text) $shape = $currentSlide->createRichTextShape(); $shape->setHeight(600)->setWidth(930)->setOffsetX(40)->setOffsetY(300); $shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT)->setMarginLeft(25)->setIndent(-25); $shape->getActiveParagraph()->getFont()->setSize(18)->setColor(new Color('E07116')); // $shape->getActiveParagraph()->getBulletStyle()->setBulletType(Bullet::TYPE_BULLET); $shape->createTextRun($resulted->info); //END OF FIRST SLIDE $index = 0; // print_r('here'); exit(); foreach ($result as $file) { // echo $file->filename.'<br>'; $currentSlide = $this->createTemplatedSlide($objPHPPowerPoint); $shape = $currentSlide->createDrawingShape(); $shape->setName('Result Chart')->setDescription('PHPPowerPoint logo')->setPath(public_path($file->filename))->setHeight(450)->setWidth(650)->setOffsetX(100)->setOffsetY(160); $shape->getShadow()->setVisible(true)->setDirection(45)->setDistance(10); $shape = $currentSlide->createRichTextShape(); $shape->setHeight(50)->setWidth(930)->setOffsetX(20)->setOffsetY(45); $shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER)->setMarginLeft(25)->setIndent(-25); $shape->getActiveParagraph()->getFont()->setSize(23)->setColor(new Color('D66204')); // $shape->getActiveParagraph()->getBulletStyle()->setBulletType(Bullet::TYPE_BULLET); $title = explode(',', $file->title); $plot_data = PlotDataModel::where('id_plot', $file->id_plot)->get(); $plot_name = PlotModel::where('id', $file->id_plot)->first(); $technya = TechnologyModel::where('id', $plot_name->id_tech)->first(); if ($technya->name == 'UMTS') { $shape->createTextRun(str_ireplace('ch', 'UARFCN', $title[1]) . ' Histogram'); } else { if ($technya->name == 'LTE') { $shape->createTextRun(str_ireplace('ch', 'LARFCN', $title[1]) . ' Histogram'); } else { $shape->createTextRun(str_ireplace('ch', 'ARFCN', $title[1]) . ' Histogram'); } } $co = count($plot_data); $shape = $currentSlide->createTableShape(1); $shape->setWidth(150); $shape->setOffsetX(760); $shape->setOffsetY(200); $row = $shape->createRow(); $row->getFill()->setFillType(Fill::FILL_SOLID)->setStartColor(new Color('EEF0EB'))->setEndColor(new Color('EEF0EB')); $row->nextCell()->createTextRun($plot_name->name); $i = 2; foreach ($plot_data as $rw) { $row = $shape->createRow(); if ($i % 2 == 0) { $row->getFill()->setFillType(Fill::FILL_SOLID)->setStartColor(new Color('DCEBCA'))->setEndColor(new Color('DCEBCA')); } else { $row->getFill()->setFillType(Fill::FILL_SOLID)->setStartColor(new Color('EEF0EB'))->setEndColor(new Color('EEF0EB')); } $row->nextCell()->createTextRun($rw->start . ' to ' . $rw->end); $i++; } $index++; } // Save file $named = date('Ymdhis_') . $this->toAscii($resulted->info); $this->write($objPHPPowerPoint, $named, $this->writers); $resultsave = AutomateModel::find($id_result); $resultsave->file_result = date('Y-m-d') . '/' . $named; $resultsave->save(); Session::flash('message', SiteHelpers::alert('success', Lang::get('Process has completed, check the result on table bellow'))); return Redirect::to('/automate'); }
/** * Write docProps/core.xml to XML format * * @param PhpPowerpoint $pPHPPowerPoint * @return string XML Output * @throws \Exception */ public function writeDocPropsCore(PhpPowerpoint $pPHPPowerPoint) { // Create XML writer $objWriter = $this->getXMLWriter(); // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // cp:coreProperties $objWriter->startElement('cp:coreProperties'); $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); // dc:creator $objWriter->writeElement('dc:creator', $pPHPPowerPoint->getProperties()->getCreator()); // cp:lastModifiedBy $objWriter->writeElement('cp:lastModifiedBy', $pPHPPowerPoint->getProperties()->getLastModifiedBy()); // dcterms:created $objWriter->startElement('dcterms:created'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(gmdate("Y-m-d\\TH:i:s\\Z", $pPHPPowerPoint->getProperties()->getCreated())); $objWriter->endElement(); // dcterms:modified $objWriter->startElement('dcterms:modified'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(gmdate("Y-m-d\\TH:i:s\\Z", $pPHPPowerPoint->getProperties()->getModified())); $objWriter->endElement(); // dc:title $objWriter->writeElement('dc:title', $pPHPPowerPoint->getProperties()->getTitle()); // dc:description $objWriter->writeElement('dc:description', $pPHPPowerPoint->getProperties()->getDescription()); // dc:subject $objWriter->writeElement('dc:subject', $pPHPPowerPoint->getProperties()->getSubject()); // cp:keywords $objWriter->writeElement('cp:keywords', $pPHPPowerPoint->getProperties()->getKeywords()); // cp:category $objWriter->writeElement('cp:category', $pPHPPowerPoint->getProperties()->getCategory()); $objWriter->endElement(); // Return return $objWriter->getData(); }
protected function displayPhpPowerpointInfo(PhpPowerpoint $oPHPPpt) { $this->append('<div class="infoBlk" id="divPhpPowerpointInfo">'); $this->append('<dl>'); $this->append('<dt>Number of slides</dt><dd>' . $oPHPPpt->getSlideCount() . '</dd>'); $this->append('<dt>Document Layout Height</dt><dd>' . $oPHPPpt->getLayout()->getCY(DocumentLayout::UNIT_MILLIMETER) . ' mm</dd>'); $this->append('<dt>Document Layout Width</dt><dd>' . $oPHPPpt->getLayout()->getCX(DocumentLayout::UNIT_MILLIMETER) . ' mm</dd>'); $this->append('<dt>Properties : Category</dt><dd>' . $oPHPPpt->getProperties()->getCategory() . '</dd>'); $this->append('<dt>Properties : Company</dt><dd>' . $oPHPPpt->getProperties()->getCompany() . '</dd>'); $this->append('<dt>Properties : Created</dt><dd>' . $oPHPPpt->getProperties()->getCreated() . '</dd>'); $this->append('<dt>Properties : Creator</dt><dd>' . $oPHPPpt->getProperties()->getCreator() . '</dd>'); $this->append('<dt>Properties : Description</dt><dd>' . $oPHPPpt->getProperties()->getDescription() . '</dd>'); $this->append('<dt>Properties : Keywords</dt><dd>' . $oPHPPpt->getProperties()->getKeywords() . '</dd>'); $this->append('<dt>Properties : Last Modified By</dt><dd>' . $oPHPPpt->getProperties()->getLastModifiedBy() . '</dd>'); $this->append('<dt>Properties : Modified</dt><dd>' . $oPHPPpt->getProperties()->getModified() . '</dd>'); $this->append('<dt>Properties : Subject</dt><dd>' . $oPHPPpt->getProperties()->getSubject() . '</dd>'); $this->append('<dt>Properties : Title</dt><dd>' . $oPHPPpt->getProperties()->getTitle() . '</dd>'); $this->append('</dl>'); $this->append('</div>'); foreach ($oPHPPpt->getAllSlides() as $oSlide) { $this->append('<div class="infoBlk" id="div' . $oSlide->getHashCode() . 'Info">'); $this->append('<dl>'); $this->append('<dt>HashCode</dt><dd>' . $oSlide->getHashCode() . '</dd>'); $this->append('<dt>Slide Layout</dt><dd>' . $oSlide->getSlideLayout() . '</dd>'); $this->append('<dt>Offset X</dt><dd>' . $oSlide->getOffsetX() . '</dd>'); $this->append('<dt>Offset Y</dt><dd>' . $oSlide->getOffsetY() . '</dd>'); $this->append('<dt>Extent X</dt><dd>' . $oSlide->getExtentX() . '</dd>'); $this->append('<dt>Extent Y</dt><dd>' . $oSlide->getExtentY() . '</dd>'); $this->append('</dl>'); $this->append('</div>'); foreach ($oSlide->getShapeCollection() as $oShape) { if ($oShape instanceof Group) { foreach ($oShape->getShapeCollection() as $oShapeChild) { $this->displayShapeInfo($oShapeChild); } } else { $this->displayShapeInfo($oShape); } } } }