Beispiel #1
0
 /**
  * Set/get minDepth and maxDepth
  */
 public function testSetGetMinMaxDepth()
 {
     $titles = array('Heading 1' => 1, 'Heading 2' => 2, 'Heading 3' => 3, 'Heading 4' => 4);
     $phpWord = new PhpWord();
     foreach ($titles as $text => $depth) {
         $phpWord->addTitle(new Title(htmlspecialchars($text, ENT_COMPAT, 'UTF-8'), $depth));
     }
     $toc = new TOC();
     $toc->setPhpWord($phpWord);
     $this->assertEquals(1, $toc->getMinDepth());
     $this->assertEquals(9, $toc->getMaxDepth());
     $toc->setMinDepth(2);
     $toc->setMaxDepth(3);
     $toc->getTitles();
     $this->assertEquals(2, $toc->getMinDepth());
     $this->assertEquals(3, $toc->getMaxDepth());
 }
Beispiel #2
0
 /**
  * Set/get minDepth and maxDepth
  */
 public function testSetGetMinMaxDepth()
 {
     $toc = new TOC();
     $titles = array('Heading 1' => 1, 'Heading 2' => 2, 'Heading 3' => 3, 'Heading 4' => 4);
     foreach ($titles as $text => $depth) {
         \PhpOffice\PhpWord\TOC::addTitle($text, $depth);
     }
     $this->assertEquals(1, $toc->getMinDepth());
     $this->assertEquals(9, $toc->getMaxDepth());
     $toc->setMinDepth(2);
     $toc->setMaxDepth(3);
     $toc->getTitles();
     $this->assertEquals(2, $toc->getMinDepth());
     $this->assertEquals(3, $toc->getMaxDepth());
 }
Beispiel #3
0
 /**
  * Write TOC Field
  */
 private function writeFieldMark(XMLWriter $xmlWriter, TOCElement $element)
 {
     $minDepth = $element->getMinDepth();
     $maxDepth = $element->getMaxDepth();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'begin');
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:instrText');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     $xmlWriter->writeRaw("TOC \\o {$minDepth}-{$maxDepth} \\h \\z \\u");
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'separate');
     $xmlWriter->endElement();
     $xmlWriter->endElement();
 }