Exemplo n.º 1
0
 protected function _writeTitle(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Title $title)
 {
     $text = htmlspecialchars($title->getText());
     $text = PHPWord_Shared_String::ControlCharacterPHP2OOXML($text);
     $anchor = $title->getAnchor();
     $bookmarkId = $title->getBookmarkId();
     $style = $title->getStyle();
     $objWriter->startElement('w:p');
     if (!empty($style)) {
         $objWriter->startElement('w:pPr');
         $objWriter->startElement('w:pStyle');
         $objWriter->writeAttribute('w:val', $style);
         $objWriter->endElement();
         $objWriter->endElement();
     }
     $objWriter->startElement('w:r');
     $objWriter->startElement('w:fldChar');
     $objWriter->writeAttribute('w:fldCharType', 'end');
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('w:bookmarkStart');
     $objWriter->writeAttribute('w:id', $bookmarkId);
     $objWriter->writeAttribute('w:name', $anchor);
     $objWriter->endElement();
     $objWriter->startElement('w:r');
     $objWriter->startElement('w:t');
     $objWriter->writeRaw($text);
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('w:bookmarkEnd');
     $objWriter->writeAttribute('w:id', $bookmarkId);
     $objWriter->endElement();
     $objWriter->endElement();
 }
Exemplo n.º 2
0
 /**
  * Add a Title Element
  * 
  * @param string $text
  * @param int $depth
  * @return PHPWord_Section_Title
  */
 public function addTitle($text, $depth = 1)
 {
     $styles = PHPWord_Style::getStyles();
     if (array_key_exists('Heading_' . $depth, $styles)) {
         $style = 'Heading' . $depth;
     } else {
         $style = null;
     }
     $title = new PHPWord_Section_Title($text, $depth, $style);
     $data = PHPWord_TOC::addTitle($text, $depth);
     $anchor = $data[0];
     $bookmarkId = $data[1];
     $title->setAnchor($anchor);
     $title->setBookmarkId($bookmarkId);
     $this->_elementCollection[] = $title;
     return $title;
 }