<?php include_once 'Sample_Header.php'; use PhpOffice\PhpPresentation\PhpPresentation; use PhpOffice\PhpPresentation\Shape\Drawing; use PhpOffice\PhpPresentation\Shape\MemoryDrawing; // Create new PHPPresentation object echo date('H:i:s') . ' Create new PHPPresentation object' . EOL; $objPHPPresentation = new PhpPresentation(); // Create slide echo date('H:i:s') . ' Create slide' . EOL; $currentSlide = $objPHPPresentation->getActiveSlide(); // Generate an image echo date('H:i:s') . ' Generate an image' . EOL; $gdImage = @imagecreatetruecolor(140, 20) or die('Cannot Initialize new GD image stream'); $textColor = imagecolorallocate($gdImage, 255, 255, 255); imagestring($gdImage, 1, 5, 5, 'Created with PHPPresentation', $textColor); // Add a generated drawing to the slide echo date('H:i:s') . ' Add a drawing to the slide' . EOL; $shape = new MemoryDrawing(); $shape->setName('Sample image')->setDescription('Sample image')->setImageResource($gdImage)->setRenderingFunction(MemoryDrawing::RENDERING_JPEG)->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT)->setHeight(36)->setOffsetX(10)->setOffsetY(10); $currentSlide->addShape($shape); // Add a file drawing (GIF) to the slide $shape = new Drawing(); $shape->setName('PHPPresentation logo')->setDescription('PHPPresentation logo')->setPath('./resources/phppowerpoint_logo.gif')->setHeight(36)->setOffsetX(10)->setOffsetY(100); $currentSlide->addShape($shape); // Save file echo write($objPHPPresentation, basename(__FILE__, '.php'), $writers); if (!CLI) { include_once 'Sample_Footer.php'; }
define('IS_INDEX', SCRIPT_FILENAME == 'index'); require_once __DIR__ . '/../src/PhpPresentation/Autoloader.php'; Autoloader::register(); require_once __DIR__ . '/../vendor/autoload.php'; // Set writers $writers = array('PowerPoint2007' => 'pptx', 'ODPresentation' => 'odp'); // Return to the caller script when runs by CLI if (CLI) { return; } // Set titles and names $pageHeading = str_replace('_', ' ', SCRIPT_FILENAME); $pageTitle = IS_INDEX ? 'Welcome to ' : "{$pageHeading} - "; $pageTitle .= 'PHPPresentation'; $pageHeading = IS_INDEX ? '' : "<h1>{$pageHeading}</h1>"; $oShapeDrawing = new Drawing(); $oShapeDrawing->setName('PHPPresentation logo')->setDescription('PHPPresentation logo')->setPath('./resources/phppowerpoint_logo.gif')->setHeight(36)->setOffsetX(10)->setOffsetY(10); $oShapeDrawing->getShadow()->setVisible(true)->setDirection(45)->setDistance(10); $oShapeDrawing->getHyperlink()->setUrl('https://github.com/PHPOffice/PHPPresentation/')->setTooltip('PHPPresentation'); // Create a shape (text) $oShapeRichText = new RichText(); $oShapeRichText->setHeight(300)->setWidth(600)->setOffsetX(170)->setOffsetY(180); $oShapeRichText->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); $textRun = $oShapeRichText->createTextRun('Thank you for using PHPPresentation!'); $textRun->getFont()->setBold(true)->setSize(60)->setColor(new Color('FFE06B20')); // Populate samples $files = ''; if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if (preg_match('/^Sample_\\d+_/', $file)) { $name = str_replace('_', ' ', preg_replace('/(Sample_|\\.php)/', '', $file));
public function testSetWidthAndHeight() { $object = new Drawing(); $valueWidth = rand(1, 100); $valueHeight = $valueWidth / 2; $object->setResizeProportional(false); $object->setWidth($valueWidth); $object->setHeight($valueHeight); $object->setResizeProportional(true); $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Shape\\Drawing', $object->setWidthAndHeight($valueHeight, $valueWidth)); $this->assertEquals($valueHeight, $object->getWidth()); $this->assertEquals(ceil($valueHeight * ($valueHeight / $valueWidth)), $object->getHeight()); $object = new Drawing(); $valueWidth = rand(1, 100); $valueHeight = $valueWidth / 2; $object->setResizeProportional(false); $object->setWidth($valueWidth); $object->setHeight($valueHeight); $object->setResizeProportional(true); $this->assertInstanceOf('PhpOffice\\PhpPresentation\\Shape\\Drawing', $object->setWidthAndHeight($valueWidth, $valueHeight)); $this->assertEquals($valueHeight, $object->getHeight()); $this->assertEquals(ceil($valueWidth * ($valueHeight / $valueHeight)), $object->getWidth()); }