/**
  * @param Page $page
  */
 public function renderItems(Page $page)
 {
     $layout = $page->getLayout();
     foreach ($layout->getItemFormats() as $id => $format) {
         $item = $page->item($id);
         if (!$item->isVisible()) {
             continue;
         }
         switch (true) {
             case $item->isTypeOf('s-tblock'):
                 if ($item->hasReference() || $item->isPresent()) {
                     $this->renderTextBlockItem($item);
                 }
                 break;
             case $item->isTypeOf('s-iblock'):
                 if ($item->isPresent()) {
                     $this->renderImageBlockItem($item);
                 }
                 break;
             case $item->isTypeOf('s-pageno'):
                 if ($page->isCountable() && $item->isForReport()) {
                     $this->renderPageNumberItem($item);
                 }
                 break;
             case $item->isImage():
                 $this->renderImageItem($item);
                 break;
             case $item->isText():
                 $this->renderTextItem($item);
                 break;
             case $item->isRect():
                 $this->renderRectItem($item);
                 break;
             case $item->isEllipse():
                 $this->renderEllipseItem($item);
                 break;
             case $item->isLine():
                 $this->renderLineItem($item);
                 break;
         }
     }
 }