[Open XML] Générer des documents PowerPoint avec PHP : PHPPowerPoint CTP 0.1
Pour les amateurs de PHP désireux de pouvoir créer des documents Open XML pour leurs applications, Maarten Balliauw vient tout juste d’annoncer la réponse : PHPPowerPoint 0.1.0 (CTP1) released! Après PHPExcel, Maarten s’attaque aujourd'hui à PowerPoint, un domaine beaucoup plus complexe au vu de la structure du format.
Pour résumer rapidement cette nouvelle librairie PHP, PHPPowerPoint permet de générer des documents Open XML directement depuis une application PHP. Vous pouvez créer une présentation en mémoire et ensuite l’écrire sur le disque ou dans une base de données.
Voici un exemple de code qui génère la présentation située sur la droite :
/* Create new PHPPowerPoint object */
$objPHPPowerPoint = new PHPPowerPoint();
/* Create slide */
$currentSlide = $objPHPPowerPoint->getActiveSlide();
/* Create a shape (drawing) */
$shape = $currentSlide->createDrawingShape();
$shape->setName('PHPPowerPoint logo');
$shape->setDescription('PHPPowerPoint logo');
$shape->setPath('./images/phppowerpoint_logo.gif');
$shape->setHeight(36);
$shape->setOffsetX(10);
$shape->setOffsetY(10);
$shape->getShadow()->setVisible(true);
$shape->getShadow()->setDirection(45);
$shape->getShadow()->setDistance(10);
/* Create a shape (text) */
$shape = $currentSlide->createRichTextShape();
$shape->setHeight(300);
$shape->setWidth(600);
$shape->setOffsetX(170);
$shape->setOffsetY(180);
$shape->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER );
$textRun = $shape->createTextRun('Thank you for using PHPPowerPoint!');
$textRun->getFont()->setBold(true);
$textRun->getFont()->setSize(60);
$textRun->getFont()->setColor( new PHPPowerPoint_Style_Color( 'FFC00000' ) );
/* Save PowerPoint 2007 file */
$objWriter = PHPPowerPoint_IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007');
$objWriter->save(str_replace('.php', '.pptx', __FILE__));
Vous pouvez dés à présent télécharger la librairie et un exemple beaucoup plus évolué sur le site officiel du projet : http://www.phppowerpoint.net.
Maarten, see you in London for the next DII.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :