コード例 #1
0
 /**
  * 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/');
 }
コード例 #2
0
/**
 * 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;
}
コード例 #3
0
$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';
}
コード例 #4
0
 /**
  * Test create writer
  */
 public function testCreateWriter()
 {
     $class = 'PhpOffice\\PhpPresentation\\Writer\\PowerPoint2007';
     $this->assertInstanceOf($class, IOFactory::createWriter(new PhpPresentation()));
 }