getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPPowerPoint_Shared_XMLWriter(PHPPowerPoint_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPPowerPoint_Shared_XMLWriter(PHPPowerPoint_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0','UTF-8','yes'); // p:presentation $objWriter->startElement('p:presentation'); $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); $objWriter->writeAttribute('xmlns:p', 'http://schemas.openxmlformats.org/presentationml/2006/main'); // p:sldMasterIdLst $objWriter->startElement('p:sldMasterIdLst'); // p:sldMasterId $objWriter->startElement('p:sldMasterId'); $objWriter->writeAttribute('id', '2147483648'); $objWriter->writeAttribute('r:id', 'rId1'); $objWriter->endElement(); $objWriter->endElement(); // p:sldIdLst $objWriter->startElement('p:sldIdLst'); $this->_writeSlides($objWriter, $pPHPPowerPoint); $objWriter->endElement(); // p:sldSz $objWriter->startElement('p:sldSz'); $objWriter->writeAttribute('cx', '9144000'); $objWriter->writeAttribute('cy', '6858000'); $objWriter->endElement(); // p:notesSz $objWriter->startElement('p:notesSz'); $objWriter->writeAttribute('cx', '6858000'); $objWriter->writeAttribute('cy', '9144000'); $objWriter->endElement(); $objWriter->endElement(); // Return return $objWriter->getData(); } /** * Write slides * * @param PHPPowerPoint_Shared_XMLWriter $objWriter XML Writer * @param PHPPowerPoint $pPHPPowerPoint * @throws Exception */ private function _writeSlides(PHPPowerPoint_Shared_XMLWriter $objWriter = null, PHPPowerPoint $pPHPPowerPoint = null) { // Write slides $slideCount = $pPHPPowerPoint->getSlideCount(); for ($i = 0; $i < $slideCount; ++$i) { // p:sldId $this->_writeSlide( $objWriter, ($i + 256), ($i + 1 + 2) ); } } /** * Write slide * * @param PHPPowerPoint_Shared_XMLWriter $objWriter XML Writer * @param int $pSlideId Slide id * @param int $pRelId Relationship ID * @throws Exception */ private function _writeSlide(PHPPowerPoint_Shared_XMLWriter $objWriter = null, $pSlideId = 1, $pRelId = 1) { // p:sldId $objWriter->startElement('p:sldId'); $objWriter->writeAttribute('id', $pSlideId); $objWriter->writeAttribute('r:id', 'rId' . $pRelId); $objWriter->endElement(); } }