Sample_02_Serialized.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. include_once 'Sample_Header.php';
  3. use PhpOffice\PhpPresentation\PhpPresentation;
  4. use PhpOffice\PhpPresentation\Style\Alignment;
  5. use PhpOffice\PhpPresentation\Style\Color;
  6. use PhpOffice\PhpPresentation\IOFactory;
  7. // Create new PHPPresentation object
  8. echo date('H:i:s') . ' Create new PHPPresentation object'.EOL;
  9. $objPHPPresentation = new PhpPresentation();
  10. // Set properties
  11. echo date('H:i:s') . ' Set properties'.EOL;
  12. $objPHPPresentation->getDocumentProperties()->setCreator('PHPOffice')
  13. ->setLastModifiedBy('PHPPresentation Team')
  14. ->setTitle('Sample 03 Title')
  15. ->setSubject('Sample 03 Subject')
  16. ->setDescription('Sample 03 Description')
  17. ->setKeywords('office 2007 openxml libreoffice odt php')
  18. ->setCategory('Sample Category');
  19. // Create slide
  20. echo date('H:i:s') . ' Create slide'.EOL;
  21. $currentSlide = $objPHPPresentation->getActiveSlide();
  22. // Create a shape (drawing)
  23. echo date('H:i:s') . ' Create a shape (drawing)'.EOL;
  24. $shape = $currentSlide->createDrawingShape();
  25. $shape->setName('PHPPresentation logo')
  26. ->setDescription('PHPPresentation logo')
  27. ->setPath('./resources/phppowerpoint_logo.gif')
  28. ->setHeight(36)
  29. ->setOffsetX(10)
  30. ->setOffsetY(10);
  31. $shape->getShadow()->setVisible(true)
  32. ->setDirection(45)
  33. ->setDistance(10);
  34. // Create a shape (text)
  35. echo date('H:i:s') . ' Create a shape (rich text)'.EOL;
  36. $shape = $currentSlide->createRichTextShape()
  37. ->setHeight(300)
  38. ->setWidth(600)
  39. ->setOffsetX(170)
  40. ->setOffsetY(180);
  41. $shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER );
  42. $textRun = $shape->createTextRun('Thank you for using PHPPresentation!');
  43. $textRun->getFont()->setBold(true)
  44. ->setSize(60)
  45. ->setColor( new Color( 'FFE06B20' ) );
  46. // Save serialized file
  47. $basename = basename(__FILE__, '.php');
  48. echo date('H:i:s') . ' Write to serialized format'.EOL;
  49. $objWriter = IOFactory::createWriter($objPHPPresentation, 'Serialized');
  50. $objWriter->save('results/'.basename(__FILE__, '.php').'.phppt');
  51. // Read from serialized file
  52. echo date('H:i:s') . ' Read from serialized format'.EOL;
  53. $objPHPPresentationLoaded = IOFactory::load('results/'.basename(__FILE__, '.php').'.phppt');
  54. // Save file
  55. echo write($objPHPPresentationLoaded, basename(__FILE__, '.php'), $writers);
  56. if (!CLI) {
  57. include_once 'Sample_Footer.php';
  58. }