public function writePart(Chart $chart) { $this->xmlContent = $this->getXMLWriter(); $this->xmlMeta = $this->getXMLWriter(); $this->xmlStyles = $this->getXMLWriter(); $this->writeContentPart($chart); return array('content.xml' => $this->xmlContent->getData(), 'meta.xml' => $this->xmlMeta->getData(), 'styles.xml' => $this->xmlStyles->getData()); }
/** */ public function testConstruct() { $object = new XMLWriter(); $object->startElement('element'); $object->text('AAA'); $object->endElement(); $this->assertEquals('<element>AAA</element>' . chr(10), $object->getData()); $object = new XMLWriter(XMLWriter::STORAGE_DISK); $object->startElement('element'); $object->text('BBB'); $object->endElement(); $this->assertEquals('<element>BBB</element>' . chr(10), $object->getData()); }
/** * Serialize PHPPowerPoint object to XML * * @param PHPPowerPoint $pPHPPowerPoint * @param string $pFilename * @return string XML Output * @throws \Exception */ private function writeSerialized(PhpPowerpoint $pPHPPowerPoint = null, $pFilename = '') { // Clone $pPHPPowerPoint $pPHPPowerPoint = clone $pPHPPowerPoint; // Update media links $slideCount = $pPHPPowerPoint->getSlideCount(); for ($i = 0; $i < $slideCount; ++$i) { for ($j = 0; $j < $pPHPPowerPoint->getSlide($i)->getShapeCollection()->count(); ++$j) { if ($pPHPPowerPoint->getSlide($i)->getShapeCollection()->offsetGet($j) instanceof AbstractDrawing) { $pPHPPowerPoint->getSlide($i)->getShapeCollection()->offsetGet($j)->setPath('zip://' . $pFilename . '#media/' . $pPHPPowerPoint->getSlide($i)->getShapeCollection()->offsetGet($j)->getFilename(), false); } } } // Create XML writer $objWriter = new XMLWriter(); $objWriter->openMemory(); $objWriter->setIndent(true); // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // PHPPowerPoint $objWriter->startElement('PHPPowerPoint'); $objWriter->writeAttribute('version', '##VERSION##'); // Comment $objWriter->writeComment('This file has been generated using PHPPowerPoint v##VERSION## (http://github.com/PHPOffice/PHPPowerPoint). It contains a base64 encoded serialized version of the PHPPowerPoint internal object.'); // Data $objWriter->startElement('data'); $objWriter->writeCData(base64_encode(serialize($pPHPPowerPoint))); $objWriter->endElement(); $objWriter->endElement(); // Return return $objWriter->getData(); }