protected function beforeRenderChildrensWord() { $num = new ArbitraryCompositeNode('w:numPr'); $this->getPPr()->addNode($num); $num->addNode(new ArbitraryNode('w:ilvl', array('w:val' => $this->getLevel()))); $num->addNode(new ArbitraryNode('w:numId', array('w:val' => '1'))); return parent::beforeRenderChildrensWord(); }
/** * @param string $tagName * @param mixed $attributes * @return Node */ function initNode($tagName, $attributes) { //default implemenation switch (strtolower($tagName)) { case 'img': //image if (!is_null($this->getVsWord()) && isset($attributes['src']) && @file_get_contents($attributes['src'], false, NULL, -1, 1) !== FALSE) { $file = $attributes['src']; $attach = $this->getVsWord()->getAttachImage($file); $drawingNode = new DrawingNode(); $drawingNode->addImage($attach); return $drawingNode; } break; case 'p': case 'div': return new PCompositeNode(); break; case 'br': case 'hr': return new BrNode(); break; case 'span': return new RCompositeNode(); break; case 'i': $r = new RCompositeNode(); $r->addTextStyle(new ItalicStyleNode()); return $r; break; case 'b': case 'strong': case 'h4': case 'h5': $r = new RCompositeNode(); $r->addTextStyle(new BoldStyleNode()); return $r; break; case 'u': $r = new RCompositeNode(); $r->addTextStyle(new UnderlineStyleNode()); return $r; break; case 'h1': $p = new PCompositeNode(); $r = new RCompositeNode(); $p->addNode($r); $r->addTextStyle(new BoldStyleNode()); $r->addTextStyle(new FontSizeStyleNode(36)); return $p; break; case 'h2': $p = new PCompositeNode(); $r = new RCompositeNode(); $p->addNode($r); $r->addTextStyle(new BoldStyleNode()); $r->addTextStyle(new FontSizeStyleNode(26)); return $p; break; case 'h3': $p = new PCompositeNode(); $r = new RCompositeNode(); $p->addNode($r); $r->addTextStyle(new BoldStyleNode()); $r->addTextStyle(new FontSizeStyleNode(18)); return $p; break; case 'table': return new TableCompositeNode(); break; case 'tr': return new TableRowCompositeNode(); break; case 'td': case 'th': $td = new TableColCompositeNode(); $td->addNode(new PCompositeNode()); return $td; break; case 'ul': case 'ol': return new ListCompositeNode(); break; case 'li': return new ListItemCompositeNode(); break; } return new EmptyCompositeNode(); }