Blog

Latest technology news, trends and developers guide for business application. Visit this space for more tech updates.

Let’s work on your exciting new project together!

How to create PowerPoint file using PHP.

PHP Development, Web Apps, Web App Development, PHP Web Development, PHP7

Introduction:

One has to mostly deal with  requirement of exporting data to Excel, Word or PDF. Whereas, requirement of exporting data to PowerPoint slides remains as moon in daylight – elusive. Here, We will make ourselves familiar with PowerPoint generation concept using PHP PowerPoint library. Which is available on http://phppowerpoint.codeplex.com/.

Steps to Setup:
 

  • Download zip version of library from http://phppowerpoint.codeplex.com/releases/view/26621
  • Extract it and place it to root folder of your Project.
  • After extracting folder you will find three sub folders – namely ‘Classes’,’ Documentation’ and ‘Tests’.
    • Classes folder contains all magic code to library.
    • Test folder holds Sample code for taking first step towards this unknown world.
    • Documentation folder has API information.
  • Include reference of library by setting up path to library using following two line of code in top of your business logic file from where you are going to start writing your logic.

               set_include_path(get_include_path() . PATH_SEPARATOR . ‘../Classes/’);

               include ‘PHPPowerPoint.php’;
               include ‘PHPPowerPoint/IOFactory.php’;

Then after, Place below code to start with simple slide.
$objPHPPowerPoint = new PHPPowerPoint();

// block sets slide logo.
$currentSlide = $objPHPPowerPoint->getActiveSlide();
$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);
// block sets slide logo ends.

// block sets text for first slide.
$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’ ) );
// block sets text for first slide ends.

$filename = str_replace(‘.php’, ‘.pptx’, __FILE__);
$newname = “PresentationReport-” . date(‘Y-m-d-H-i-s’) . “.pptx”;
$objWriter = PHPPowerPoint_IOFactory::createWriter($objPHPPowerPoint, ‘PowerPoint2007’);
$objWriter->save(str_replace(‘.php’, ‘.pptx’, __FILE__));

// block to download file.
header(“Pragma: no-cache”);
header(“Expires: 0”);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);
header(“Content-Type: application/force-download”);
header(“Content-Type: application/octet-stream”);
header(“Content-Type: application/download”);
header(“Content-Disposition: attachment;filename=” . $newname);
ob_clean();
flush();
readfile($filename);
exit();
// ends.

Source of Inspiration:
http://phppowerpoint.codeplex.com/

Contributors: Monil Patel / Hardik Deliwala.

 

An Insight into Google Progressive Web Apps

Google Progressive web apps (PWA) are basically mobile websites that offer the high performance of...

Software support and maintenance is important in 2018 – Here’s why

As the process of access to information gets faster and leaner, it gets imperative for...

4 Reasons to Choose ReactJS for Website Development

ReactJS is fast catching up as a favourite for frontend design amongst web developers worldwide....

We are always happy to hear from you - Share your business requirements. Our business experts will reach you shortly

 

Select Your Requirement

Secure : We'll ensure, all the information provided by you will not be shared with anyone and your details are completely safe.

We respect your privacy. *Privacy Policy

Select Your Requirement

Secure : We'll ensure, all the information provided by you will not be shared with anyone and your details are completely safe.

We respect your privacy. *Privacy Policy