Esempio n. 1
0
 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());
 }
Esempio n. 2
0
 /**
  */
 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());
 }
Esempio n. 3
0
 /**
  * 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();
 }