/** * Get document content * * @param \PhpOffice\PhpPresentation\PhpPresentation $PhpPresentation * @param string $writerName * @return \PhpOffice\PhpPresentation\Tests\XmlDocument */ public static function getDocument(PhpPresentation $phpPresentation, $writerName = 'PowerPoint2007') { self::$file = tempnam(sys_get_temp_dir(), 'PhpPresentation'); if (!is_dir(sys_get_temp_dir() . '/PhpPresentation_Unit_Test/')) { mkdir(sys_get_temp_dir() . '/PhpPresentation_Unit_Test/'); } $xmlWriter = IOFactory::createWriter($phpPresentation, $writerName); $xmlWriter->save(self::$file); $zip = new \ZipArchive(); $res = $zip->open(self::$file); if ($res === true) { $zip->extractTo(sys_get_temp_dir() . '/PhpPresentation_Unit_Test/'); $zip->close(); } return new XmlDocument(sys_get_temp_dir() . '/PhpPresentation_Unit_Test/'); }
/** * Write documents * * @param \PhpOffice\PhpPresentation\PhpPresentation $phpPresentation * @param string $filename * @param array $writers */ function write($phpPresentation, $filename, $writers) { $result = ''; // Write documents foreach ($writers as $writer => $extension) { $result .= date('H:i:s') . " Write to {$writer} format"; if (!is_null($extension)) { $xmlWriter = IOFactory::createWriter($phpPresentation, $writer); $xmlWriter->save(__DIR__ . "/{$filename}.{$extension}"); rename(__DIR__ . "/{$filename}.{$extension}", __DIR__ . "/results/{$filename}.{$extension}"); } else { $result .= ' ... NOT DONE!'; } $result .= EOL; } $result .= getEndingNotes($writers); return $result; }
$objPHPPresentation = new PhpPresentation(); // Set properties echo date('H:i:s') . ' Set properties' . EOL; $objPHPPresentation->getProperties()->setCreator('PHPOffice')->setLastModifiedBy('PHPPresentation Team')->setTitle('Sample 03 Title')->setSubject('Sample 03 Subject')->setDescription('Sample 03 Description')->setKeywords('office 2007 openxml libreoffice odt php')->setCategory('Sample Category'); // Create slide echo date('H:i:s') . ' Create slide' . EOL; $currentSlide = $objPHPPresentation->getActiveSlide(); // Create a shape (drawing) echo date('H:i:s') . ' Create a shape (drawing)' . EOL; $shape = $currentSlide->createDrawingShape(); $shape->setName('PHPPresentation logo')->setDescription('PHPPresentation logo')->setPath('./resources/phppowerpoint_logo.gif')->setHeight(36)->setOffsetX(10)->setOffsetY(10); $shape->getShadow()->setVisible(true)->setDirection(45)->setDistance(10); // Create a shape (text) echo date('H:i:s') . ' Create a shape (rich text)' . EOL; $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')); // Save serialized file $basename = basename(__FILE__, '.php'); echo date('H:i:s') . ' Write to serialized format' . EOL; $objWriter = IOFactory::createWriter($objPHPPresentation, 'Serialized'); $objWriter->save('results/' . basename(__FILE__, '.php') . '.phppt'); // Read from serialized file echo date('H:i:s') . ' Read from serialized format' . EOL; $objPHPPresentationLoaded = IOFactory::load('results/' . basename(__FILE__, '.php') . '.phppt'); // Save file echo write($objPHPPresentationLoaded, basename(__FILE__, '.php'), $writers); if (!CLI) { include_once 'Sample_Footer.php'; }
/** * Test load class exception * * @expectedException \Exception * @expectedExceptionMessage Could not automatically determine \PhpOffice\PhpPresentation\Reader\ReaderInterface for file. */ public function testLoadException() { IOFactory::load(PHPPRESENTATION_TESTS_BASE_DIR . DIRECTORY_SEPARATOR . 'resources' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'PhpPresentationLogo.png'); }
<?php set_time_limit(10); include_once 'Sample_Header.php'; use PhpOffice\PhpPresentation\IOFactory; use PhpOffice\PhpPresentation\Slide; use PhpOffice\PhpPresentation\Shape\RichText; $pptReader = IOFactory::createReader('PowerPoint2007'); $oPHPPresentation = $pptReader->load('resources/Sample_12.pptx'); $oTree = new PhpPptTree($oPHPPresentation); echo $oTree->display(); if (!CLI) { include_once 'Sample_Footer.php'; }
<?php set_time_limit(10); include_once 'Sample_Header.php'; use PhpOffice\PhpPresentation\PhpPresentation; use PhpOffice\PhpPresentation\DocumentLayout; use PhpOffice\PhpPresentation\IOFactory; use PhpOffice\PhpPresentation\Style\Alignment; use PhpOffice\PhpPresentation\Style\Color; use PhpOffice\PhpPresentation\Slide; use PhpOffice\PhpPresentation\AbstractShape; use PhpOffice\PhpPresentation\Shape\MemoryDrawing; use PhpOffice\PhpPresentation\Shape\RichText; use PhpOffice\PhpPresentation\Shape\Group; $pptReader = IOFactory::createReader('ODPresentation'); $oPHPPresentation = $pptReader->load('resources/Sample_12.odp'); $oTree = new PhpPptTree($oPHPPresentation); echo $oTree->display(); if (!CLI) { include_once 'Sample_Footer.php'; }
<?php set_time_limit(10); include_once 'Sample_Header.php'; use PhpOffice\PhpPresentation\PhpPresentation; use PhpOffice\PhpPresentation\DocumentLayout; use PhpOffice\PhpPresentation\IOFactory; use PhpOffice\PhpPresentation\Style\Alignment; use PhpOffice\PhpPresentation\Style\Color; use PhpOffice\PhpPresentation\Slide; use PhpOffice\PhpPresentation\AbstractShape; use PhpOffice\PhpPresentation\Shape\MemoryDrawing; use PhpOffice\PhpPresentation\Shape\RichText; use PhpOffice\PhpPresentation\Shape\Group; $pptReader = PhpOffice\PhpPresentation\IOFactory::createReader('PowerPoint97'); $oPHPPresentation = $pptReader->load('resources/Sample_12.ppt'); $oTree = new PhpPptTree($oPHPPresentation); echo $oTree->display(); if (!CLI) { include_once 'Sample_Footer.php'; }