.. _general: General usage ============= Basic example ------------- The following is a basic example of the PHPPresentation library. More examples are provided in the `samples folder `__. .. code-block:: php require_once 'src/PhpPresentation/Autoloader.php'; \PhpOffice\PhpPresentation\Autoloader::register(); $objPHPPresentation = new PhpPresentation(); // Create slide $currentSlide = $objPHPPresentation->getActiveSlide(); // Create a shape (drawing) $shape = $currentSlide->createDrawingShape(); $shape->setName('PHPPresentation logo') ->setDescription('PHPPresentation logo') ->setPath('./resources/phppresentation_logo.gif') ->setHeight(36) ->setOffsetX(10) ->setOffsetY(10); $shape->getShadow()->setVisible(true) ->setDirection(45) ->setDistance(10); // Create a shape (text) $shape = $currentSlide->createRichTextShape() ->setHeight(300) ->setWidth(600) ->setOffsetX(170) ->setOffsetY(180); $shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER ); $textRun = $shape->createTextRun('Thank you for using PHPPresentation!'); $textRun->getFont()->setBold(true) ->setSize(60) ->setColor( new Color( 'FFE06B20' ) ); $oWriterPPTX = IOFactory::createWriter($objPHPPresentation, 'PowerPoint2007'); $oWriterPPTX->save(__DIR__ . "/sample.pptx"); $oWriterODP = IOFactory::createWriter($objPHPPresentation, 'ODPresentation'); $oWriterODP->save(__DIR__ . "/sample.odp"); Document information -------------------- You can set the document information such as title, creator, and company name. Use the following functions : .. code-block:: php $properties = $objPHPPresentation->getProperties(); $properties->setCreator('My name'); $properties->setCompany('My factory'); $properties->setTitle('My title'); $properties->setDescription('My description'); $properties->setCategory('My category'); $properties->setLastModifiedBy('My name'); $properties->setCreated(mktime(0, 0, 0, 3, 12, 2014)); $properties->setModified(mktime(0, 0, 0, 3, 14, 2014)); $properties->setSubject('My subject'); $properties->setKeywords('my, key, word'); Presentation Properties ----------------------- You can define some properties which are relative to the presentation, like the zoom or the thumbnail. Comments ```````` You can define if the presentation display or not the comments with the method ``setCommentVisible``. .. code-block:: php $oPresentation = new PhpPresentation(); $oProperties = $oPresentation->getPresentationProperties(); // Get the display for comment var_export($oProperties->isCommentVisible()); // Output : false // Enable the display for comment $oProperties->setCommentVisible(true); // Get the display for comment var_export($oProperties->isCommentVisible()); // Output : true Last View ````````` You can define the last view of the presentation with the method ``setLastView``. .. code-block:: php $oPresentation = new PhpPresentation(); $oProperties = $oPresentation->getPresentationProperties(); // Get the last view of the presentation echo $oProperties->getZoom(); // Output : PresentationProperties::VIEW_SLIDE // Set the last view of the presentation $oProperties->setLastView(PresentationProperties::VIEW_NOTES); // Get the last view of the presentation echo $oProperties->getZoom(); // Output : PresentationProperties::VIEW_NOTES Thumbnail ````````` You can define the thumbnail of the presentation with the method ``setThumbnailPath``. .. code-block:: php $oPresentation = new PhpPresentation(); $oProperties = $oPresentation->getPresentationProperties(); // Set path of the thumbnail $oProperties->setThumbnailPath(__DIR__.'\resources\phppowerpoint_logo.gif'); // Get path of the thumbnail echo $oProperties->getThumbnailPath(); Zoom ```` You can define the zoom of the presentation with the method ``setZoom``. .. code-block:: php $oPresentation = new PhpPresentation(); $oProperties = $oPresentation->getPresentationProperties(); // Get zoom of the presentation echo $oProperties->getZoom(); // Output : 1 // Set zoom of the presentation (3 = 300%) $oProperties->setZoom(3); // Get zoom of the presentation echo $oProperties->getZoom(); // Output : 3