Пример #1
0
 /**
  * Write Title
  *
  * @param  \PhpOffice\Common\XMLWriter  $objWriter XML Writer
  * @param  \PhpOffice\PhpPresentation\Shape\Chart\Title $subject
  * @throws \Exception
  */
 protected function writeTitle(XMLWriter $objWriter, Title $subject)
 {
     // c:title
     $objWriter->startElement('c:title');
     // c:tx
     $objWriter->startElement('c:tx');
     // c:rich
     $objWriter->startElement('c:rich');
     // a:bodyPr
     $objWriter->writeElement('a:bodyPr', null);
     // a:lstStyle
     $objWriter->writeElement('a:lstStyle', null);
     // a:p
     $objWriter->startElement('a:p');
     // a:pPr
     $objWriter->startElement('a:pPr');
     $objWriter->writeAttribute('algn', $subject->getAlignment()->getHorizontal());
     $objWriter->writeAttribute('fontAlgn', $subject->getAlignment()->getVertical());
     $objWriter->writeAttribute('marL', CommonDrawing::pixelsToEmu($subject->getAlignment()->getMarginLeft()));
     $objWriter->writeAttribute('marR', CommonDrawing::pixelsToEmu($subject->getAlignment()->getMarginRight()));
     $objWriter->writeAttribute('indent', CommonDrawing::pixelsToEmu($subject->getAlignment()->getIndent()));
     $objWriter->writeAttribute('lvl', $subject->getAlignment()->getLevel());
     // a:defRPr
     $objWriter->writeElement('a:defRPr', null);
     $objWriter->endElement();
     // a:r
     $objWriter->startElement('a:r');
     // a:rPr
     $objWriter->startElement('a:rPr');
     $objWriter->writeAttribute('lang', 'en-US');
     $objWriter->writeAttribute('dirty', '0');
     $objWriter->writeAttribute('b', $subject->getFont()->isBold() ? 'true' : 'false');
     $objWriter->writeAttribute('i', $subject->getFont()->isItalic() ? 'true' : 'false');
     $objWriter->writeAttribute('strike', $subject->getFont()->isStrikethrough() ? 'sngStrike' : 'noStrike');
     $objWriter->writeAttribute('sz', $subject->getFont()->getSize() * 100);
     $objWriter->writeAttribute('u', $subject->getFont()->getUnderline());
     $objWriter->writeAttributeIf($subject->getFont()->isSuperScript(), 'baseline', '30000');
     $objWriter->writeAttributeIf($subject->getFont()->isSubScript(), 'baseline', '-25000');
     // Font - a:solidFill
     $objWriter->startElement('a:solidFill');
     $this->writeColor($objWriter, $subject->getFont()->getColor());
     $objWriter->endElement();
     // Font - a:latin
     $objWriter->startElement('a:latin');
     $objWriter->writeAttribute('typeface', $subject->getFont()->getName());
     $objWriter->endElement();
     $objWriter->endElement();
     // a:t
     $objWriter->writeElement('a:t', $subject->getText());
     $objWriter->endElement();
     // a:endParaRPr
     $objWriter->startElement('a:endParaRPr');
     $objWriter->writeAttribute('lang', 'en-US');
     $objWriter->writeAttribute('dirty', '0');
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     // Write layout
     $this->writeLayout($objWriter, $subject);
     // c:overlay
     $objWriter->startElement('c:overlay');
     $objWriter->writeAttribute('val', '0');
     $objWriter->endElement();
     $objWriter->endElement();
 }
 /**
  * Write polyline.
  *
  * @param \PhpOffice\Common\XMLWriter $xmlWriter
  * @param \PhpOffice\PhpWord\Style\Shape $style
  * @return void
  */
 private function writePolyline(XMLWriter $xmlWriter, ShapeStyle $style)
 {
     $xmlWriter->writeAttributeIf($style->getPoints() !== null, 'points', $style->getPoints());
 }
Пример #3
0
 /**
  */
 private function writeTable()
 {
     // table:table
     $this->xmlContent->startElement('table:table');
     $this->xmlContent->writeAttribute('table:name', 'table-local');
     // table:table-header-columns
     $this->xmlContent->startElement('table:table-header-columns');
     // table:table-column
     $this->xmlContent->startElement('table:table-column');
     // > table:table-column
     $this->xmlContent->endElement();
     // > table:table-header-columns
     $this->xmlContent->endElement();
     // table:table-columns
     $this->xmlContent->startElement('table:table-columns');
     // table:table-column
     $this->xmlContent->startElement('table:table-column');
     if (!empty($this->arrayData)) {
         $rowFirst = reset($this->arrayData);
         $this->xmlContent->writeAttribute('table:number-columns-repeated', count($rowFirst) - 1);
     }
     // > table:table-column
     $this->xmlContent->endElement();
     // > table:table-columns
     $this->xmlContent->endElement();
     // table:table-header-rows
     $this->xmlContent->startElement('table:table-header-rows');
     // table:table-row
     $this->xmlContent->startElement('table:table-row');
     if (!empty($this->arrayData)) {
         $rowFirst = reset($this->arrayData);
         foreach ($rowFirst as $key => $cell) {
             // table:table-cell
             $this->xmlContent->startElement('table:table-cell');
             if (isset($this->arrayTitle[$key - 1])) {
                 $this->xmlContent->writeAttribute('office:value-type', 'string');
             }
             // text:p
             $this->xmlContent->startElement('text:p');
             if (isset($this->arrayTitle[$key - 1])) {
                 $this->xmlContent->text($this->arrayTitle[$key - 1]);
             }
             // > text:p
             $this->xmlContent->endElement();
             // > table:table-cell
             $this->xmlContent->endElement();
         }
     }
     // > table:table-row
     $this->xmlContent->endElement();
     // > table:table-header-rows
     $this->xmlContent->endElement();
     // table:table-rows
     $this->xmlContent->startElement('table:table-rows');
     foreach ($this->arrayData as $row) {
         // table:table-row
         $this->xmlContent->startElement('table:table-row');
         foreach ($row as $cell) {
             // table:table-cell
             $this->xmlContent->startElement('table:table-cell');
             $cellNumeric = is_numeric($cell);
             $this->xmlContent->writeAttributeIf(!$cellNumeric, 'office:value-type', 'string');
             $this->xmlContent->writeAttributeIf($cellNumeric, 'office:value-type', 'float');
             $this->xmlContent->writeAttributeIf($cellNumeric, 'office:value', $cell);
             // text:p
             $this->xmlContent->startElement('text:p');
             $this->xmlContent->text($cell);
             // > text:p
             $this->xmlContent->endElement();
             // > table:table-cell
             $this->xmlContent->endElement();
         }
         // > table:table-row
         $this->xmlContent->endElement();
     }
     // > table:table-rows
     $this->xmlContent->endElement();
     // > table:table
     $this->xmlContent->endElement();
 }
Пример #4
0
 /**
  * Write chart
  *
  * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer
  * @param \PhpOffice\PhpPresentation\Shape\Chart $shape
  * @param  int $shapeId
  */
 protected function writeShapeChart(XMLWriter $objWriter, ShapeChart $shape, $shapeId)
 {
     // p:graphicFrame
     $objWriter->startElement('p:graphicFrame');
     // p:nvGraphicFramePr
     $objWriter->startElement('p:nvGraphicFramePr');
     // p:cNvPr
     $objWriter->startElement('p:cNvPr');
     $objWriter->writeAttribute('id', $shapeId);
     $objWriter->writeAttribute('name', $shape->getName());
     $objWriter->writeAttribute('descr', $shape->getDescription());
     $objWriter->endElement();
     // p:cNvGraphicFramePr
     $objWriter->writeElement('p:cNvGraphicFramePr', null);
     // p:nvPr
     $objWriter->writeElement('p:nvPr', null);
     $objWriter->endElement();
     // p:xfrm
     $objWriter->startElement('p:xfrm');
     $objWriter->writeAttributeIf($shape->getRotation() != 0, 'rot', CommonDrawing::degreesToAngle($shape->getRotation()));
     // a:off
     $objWriter->startElement('a:off');
     $objWriter->writeAttribute('x', CommonDrawing::pixelsToEmu($shape->getOffsetX()));
     $objWriter->writeAttribute('y', CommonDrawing::pixelsToEmu($shape->getOffsetY()));
     $objWriter->endElement();
     // a:ext
     $objWriter->startElement('a:ext');
     $objWriter->writeAttribute('cx', CommonDrawing::pixelsToEmu($shape->getWidth()));
     $objWriter->writeAttribute('cy', CommonDrawing::pixelsToEmu($shape->getHeight()));
     $objWriter->endElement();
     $objWriter->endElement();
     // a:graphic
     $objWriter->startElement('a:graphic');
     // a:graphicData
     $objWriter->startElement('a:graphicData');
     $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
     // c:chart
     $objWriter->startElement('c:chart');
     $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
     $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships');
     $objWriter->writeAttribute('r:id', $shape->relationId);
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
 }
Пример #5
0
 /**
  * Write slide to XML format
  *
  * @param  \PhpOffice\PhpPresentation\Slide\SlideLayout $pSlideLayout
  * @return string XML Output
  * @throws \Exception
  */
 public function writeSlideLayout(SlideLayout $pSlideLayout)
 {
     // Create XML writer
     $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
     // XML header
     $objWriter->startDocument('1.0', 'UTF-8', 'yes');
     // p:sldLayout
     $objWriter->startElement('p:sldLayout');
     $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');
     $objWriter->writeAttribute('preserve', 1);
     // p:sldLayout\p:cSld
     $objWriter->startElement('p:cSld');
     $objWriter->writeAttributeIf($pSlideLayout->getLayoutName() != '', 'name', $pSlideLayout->getLayoutName());
     // Background
     $this->writeSlideBackground($pSlideLayout, $objWriter);
     // p:sldLayout\p:cSld\p:spTree
     $objWriter->startElement('p:spTree');
     // p:sldLayout\p:cSld\p:spTree\p:nvGrpSpPr
     $objWriter->startElement('p:nvGrpSpPr');
     // p:sldLayout\p:cSld\p:spTree\p:nvGrpSpPr\p:cNvPr
     $objWriter->startElement('p:cNvPr');
     $objWriter->writeAttribute('id', '1');
     $objWriter->writeAttribute('name', '');
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:nvGrpSpPr\p:cNvGrpSpPr
     $objWriter->writeElement('p:cNvGrpSpPr', null);
     // p:sldLayout\p:cSld\p:spTree\p:nvGrpSpPr\p:nvPr
     $objWriter->writeElement('p:nvPr', null);
     // p:sldLayout\p:cSld\p:spTree\p:nvGrpSpPr
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr
     $objWriter->startElement('p:grpSpPr');
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm
     $objWriter->startElement('a:xfrm');
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm\a:off
     $objWriter->startElement('a:off');
     $objWriter->writeAttribute('x', CommonDrawing::pixelsToEmu($pSlideLayout->getOffsetX()));
     $objWriter->writeAttribute('y', CommonDrawing::pixelsToEmu($pSlideLayout->getOffsetY()));
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm\a:ext
     $objWriter->startElement('a:ext');
     $objWriter->writeAttribute('cx', CommonDrawing::pixelsToEmu($pSlideLayout->getExtentX()));
     $objWriter->writeAttribute('cy', CommonDrawing::pixelsToEmu($pSlideLayout->getExtentY()));
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm\a:chOff
     $objWriter->startElement('a:chOff');
     $objWriter->writeAttribute('x', CommonDrawing::pixelsToEmu($pSlideLayout->getOffsetX()));
     $objWriter->writeAttribute('y', CommonDrawing::pixelsToEmu($pSlideLayout->getOffsetY()));
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm\a:chExt
     $objWriter->startElement('a:chExt');
     $objWriter->writeAttribute('cx', CommonDrawing::pixelsToEmu($pSlideLayout->getExtentX()));
     $objWriter->writeAttribute('cy', CommonDrawing::pixelsToEmu($pSlideLayout->getExtentY()));
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\a:xfrm\
     $objWriter->endElement();
     // p:sldLayout\p:cSld\p:spTree\p:grpSpPr\
     $objWriter->endElement();
     // Loop shapes
     $this->writeShapeCollection($objWriter, $pSlideLayout->getShapeCollection());
     // p:sldLayout\p:cSld\p:spTree\
     $objWriter->endElement();
     // p:sldLayout\p:cSld\
     $objWriter->endElement();
     // p:sldLayout\p:clrMapOvr
     $objWriter->startElement('p:clrMapOvr');
     $arrayDiff = array_diff_assoc(ColorMap::$mappingDefault, $pSlideLayout->colorMap->getMapping());
     if (!empty($arrayDiff)) {
         // p:sldLayout\p:clrMapOvr\a:overrideClrMapping
         $objWriter->startElement('a:overrideClrMapping');
         foreach ($pSlideLayout->colorMap->getMapping() as $n => $v) {
             $objWriter->writeAttribute($n, $v);
         }
         $objWriter->endElement();
     } else {
         // p:sldLayout\p:clrMapOvr\a:masterClrMapping
         $objWriter->writeElement('a:masterClrMapping');
     }
     // p:sldLayout\p:clrMapOvr\
     $objWriter->endElement();
     if (!is_null($pSlideLayout->getTransition())) {
         $this->writeTransition($objWriter, $pSlideLayout->getTransition());
     }
     // p:sldLayout\
     $objWriter->endElement();
     return $objWriter->getData();
 }
 /**
  * Write level font.
  *
  * @since 0.11.0
  *
  * @param \PhpOffice\Common\XMLWriter $xmlWriter
  * @param \PhpOffice\PhpWord\Style\NumberingLevel $level
  * @return void
  * @todo Use font style writer
  */
 private function writeFont(XMLWriter $xmlWriter, NumberingLevel $level)
 {
     $font = $level->getFont();
     $hint = $level->getHint();
     $xmlWriter->startElement('w:rPr');
     $xmlWriter->startElement('w:rFonts');
     $xmlWriter->writeAttributeIf($font !== null, 'w:ascii', $font);
     $xmlWriter->writeAttributeIf($font !== null, 'w:hAnsi', $font);
     $xmlWriter->writeAttributeIf($font !== null, 'w:cs', $font);
     $xmlWriter->writeAttributeIf($hint !== null, 'w:hint', $hint);
     $xmlWriter->endElement();
     // w:rFonts
     $xmlWriter->endElement();
     // w:rPr
 }
Пример #7
0
 /**
  * Write style of a slide
  * @param XMLWriter $objWriter
  * @param Slide $slide
  * @param int $incPage
  */
 public function writeStyleSlide(XMLWriter $objWriter, Slide $slide, $incPage)
 {
     // style:style
     $objWriter->startElement('style:style');
     $objWriter->writeAttribute('style:family', 'drawing-page');
     $objWriter->writeAttribute('style:name', 'stylePage' . $incPage);
     // style:style/style:drawing-page-properties
     $objWriter->startElement('style:drawing-page-properties');
     $objWriter->writeAttributeIf(!$slide->isVisible(), 'presentation:visibility', 'hidden');
     if (!is_null($oTransition = $slide->getTransition())) {
         $objWriter->writeAttribute('presentation:duration', 'PT' . number_format($oTransition->getAdvanceTimeTrigger() / 1000, 6, '.', '') . 'S');
         $objWriter->writeAttributeIf($oTransition->hasManualTrigger(), 'presentation:transition-type', 'manual');
         $objWriter->writeAttributeIf($oTransition->hasTimeTrigger(), 'presentation:transition-type', 'automatic');
         switch ($oTransition->getSpeed()) {
             case Transition::SPEED_FAST:
                 $objWriter->writeAttribute('presentation:transition-speed', 'fast');
                 break;
             case Transition::SPEED_MEDIUM:
                 $objWriter->writeAttribute('presentation:transition-speed', 'medium');
                 break;
             case Transition::SPEED_SLOW:
                 $objWriter->writeAttribute('presentation:transition-speed', 'slow');
                 break;
         }
         /**
          * http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#property-presentation_transition-style
          */
         switch ($oTransition->getTransitionType()) {
             case Transition::TRANSITION_BLINDS_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'horizontal-stripes');
                 break;
             case Transition::TRANSITION_BLINDS_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'vertical-stripes');
                 break;
             case Transition::TRANSITION_CHECKER_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'horizontal-checkerboard');
                 break;
             case Transition::TRANSITION_CHECKER_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'vertical-checkerboard');
                 break;
             case Transition::TRANSITION_CIRCLE_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_CIRCLE_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_COMB_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_COMB_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_COVER_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-bottom');
                 break;
             case Transition::TRANSITION_COVER_LEFT:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-left');
                 break;
             case Transition::TRANSITION_COVER_LEFT_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-lowerleft');
                 break;
             case Transition::TRANSITION_COVER_LEFT_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-upperleft');
                 break;
             case Transition::TRANSITION_COVER_RIGHT:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-right');
                 break;
             case Transition::TRANSITION_COVER_RIGHT_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-lowerright');
                 break;
             case Transition::TRANSITION_COVER_RIGHT_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-upperright');
                 break;
             case Transition::TRANSITION_COVER_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'uncover-to-top');
                 break;
             case Transition::TRANSITION_CUT:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_DIAMOND:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_DISSOLVE:
                 $objWriter->writeAttribute('presentation:transition-style', 'dissolve');
                 break;
             case Transition::TRANSITION_FADE:
                 $objWriter->writeAttribute('presentation:transition-style', 'fade-from-center');
                 break;
             case Transition::TRANSITION_NEWSFLASH:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_PLUS:
                 $objWriter->writeAttribute('presentation:transition-style', 'close');
                 break;
             case Transition::TRANSITION_PULL_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'stretch-from-bottom');
                 break;
             case Transition::TRANSITION_PULL_LEFT:
                 $objWriter->writeAttribute('presentation:transition-style', 'stretch-from-left');
                 break;
             case Transition::TRANSITION_PULL_RIGHT:
                 $objWriter->writeAttribute('presentation:transition-style', 'stretch-from-right');
                 break;
             case Transition::TRANSITION_PULL_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'stretch-from-top');
                 break;
             case Transition::TRANSITION_PUSH_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'roll-from-bottom');
                 break;
             case Transition::TRANSITION_PUSH_LEFT:
                 $objWriter->writeAttribute('presentation:transition-style', 'roll-from-left');
                 break;
             case Transition::TRANSITION_PUSH_RIGHT:
                 $objWriter->writeAttribute('presentation:transition-style', 'roll-from-right');
                 break;
             case Transition::TRANSITION_PUSH_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'roll-from-top');
                 break;
             case Transition::TRANSITION_RANDOM:
                 $objWriter->writeAttribute('presentation:transition-style', 'random');
                 break;
             case Transition::TRANSITION_RANDOMBAR_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'horizontal-lines');
                 break;
             case Transition::TRANSITION_RANDOMBAR_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'vertical-lines');
                 break;
             case Transition::TRANSITION_SPLIT_IN_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'close-horizontal');
                 break;
             case Transition::TRANSITION_SPLIT_OUT_HORIZONTAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'open-horizontal');
                 break;
             case Transition::TRANSITION_SPLIT_IN_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'close-vertical');
                 break;
             case Transition::TRANSITION_SPLIT_OUT_VERTICAL:
                 $objWriter->writeAttribute('presentation:transition-style', 'open-vertical');
                 break;
             case Transition::TRANSITION_STRIPS_LEFT_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_STRIPS_LEFT_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_STRIPS_RIGHT_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_STRIPS_RIGHT_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_WEDGE:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_WIPE_DOWN:
                 $objWriter->writeAttribute('presentation:transition-style', 'fade-from-bottom');
                 break;
             case Transition::TRANSITION_WIPE_LEFT:
                 $objWriter->writeAttribute('presentation:transition-style', 'fade-from-left');
                 break;
             case Transition::TRANSITION_WIPE_RIGHT:
                 $objWriter->writeAttribute('presentation:transition-style', 'fade-from-right');
                 break;
             case Transition::TRANSITION_WIPE_UP:
                 $objWriter->writeAttribute('presentation:transition-style', 'fade-from-top');
                 break;
             case Transition::TRANSITION_ZOOM_IN:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
             case Transition::TRANSITION_ZOOM_OUT:
                 $objWriter->writeAttribute('presentation:transition-style', 'none');
                 break;
         }
     }
     $oBackground = $slide->getBackground();
     if ($oBackground instanceof Slide\AbstractBackground) {
         $objWriter->writeAttribute('presentation:background-visible', 'true');
         if ($oBackground instanceof Slide\Background\Color) {
             $objWriter->writeAttribute('draw:fill', 'solid');
             $objWriter->writeAttribute('draw:fill-color', '#' . $oBackground->getColor()->getRGB());
         }
         if ($oBackground instanceof Slide\Background\Image) {
             $objWriter->writeAttribute('draw:fill', 'bitmap');
             $objWriter->writeAttribute('draw:fill-image-name', 'background_' . $incPage);
             $objWriter->writeAttribute('style:repeat', 'stretch');
         }
     }
     $objWriter->endElement();
     // > style:style
     $objWriter->endElement();
 }