Sample_07_Border.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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\Style\Fill;
  7. use PhpOffice\PhpPresentation\Style\Border;
  8. // Create new PHPPresentation object
  9. echo date('H:i:s') . ' Create new PHPPresentation object' . EOL;
  10. $objPHPPresentation = new PhpPresentation();
  11. // Set properties
  12. echo date('H:i:s') . ' Set properties' . EOL;
  13. $objPHPPresentation->getDocumentProperties()->setCreator('PHPOffice')->setLastModifiedBy('PHPPresentation Team')->setTitle('Sample 01 Title')->setSubject('Sample 01 Subject')->setDescription('Sample 01 Description')->setKeywords('office 2007 openxml libreoffice odt php')->setCategory('Sample Category');
  14. // Create slide
  15. echo date('H:i:s') . ' Create slide' . EOL;
  16. $currentSlide = $objPHPPresentation->getActiveSlide();
  17. for ($inc = 1; $inc <= 4; $inc++) {
  18. // Create a shape (text)
  19. echo date('H:i:s') . ' Create a shape (rich text)' . EOL;
  20. $shape = $currentSlide->createRichTextShape()->setHeight(200)->setWidth(300);
  21. if ($inc == 1 || $inc == 3) {
  22. $shape->setOffsetX(10);
  23. } else {
  24. $shape->setOffsetX(320);
  25. }
  26. if ($inc == 1 || $inc == 2) {
  27. $shape->setOffsetY(10);
  28. } else {
  29. $shape->setOffsetY(220);
  30. }
  31. $shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
  32. switch ($inc) {
  33. case 1:
  34. $shape->getBorder()->setColor(new Color('FF4672A8'))->setDashStyle(Border::DASH_SOLID)->setLineStyle(Border::LINE_DOUBLE);
  35. break;
  36. case 2:
  37. $shape->getBorder()->setColor(new Color('FF4672A8'))->setDashStyle(Border::DASH_DASH)->setLineStyle(Border::LINE_SINGLE);
  38. break;
  39. case 3:
  40. $shape->getBorder()->setColor(new Color('FF4672A8'))->setDashStyle(Border::DASH_DOT)->setLineStyle(Border::LINE_THICKTHIN);
  41. break;
  42. case 4:
  43. $shape->getBorder()->setColor(new Color('FF4672A8'))->setDashStyle(Border::DASH_LARGEDASHDOT)->setLineStyle(Border::LINE_THINTHICK);
  44. break;
  45. }
  46. $textRun = $shape->createTextRun('Use PHPPresentation!');
  47. $textRun->getFont()->setBold(true)->setSize(30)->setColor(new Color('FFE06B20'));
  48. }
  49. // Save file
  50. echo write($objPHPPresentation, basename(__FILE__, '.php'), $writers);
  51. if (!CLI) {
  52. include_once 'Sample_Footer.php';
  53. }