Esempio n. 1
0
 /**
  * @return HTMLElement
  */
 public function parseParagraph()
 {
     $paragraphContainer = new HTMLElement(HTMLElement::P);
     $runs = $this->getRuns();
     foreach ($runs as $run) {
         $xwpfRun = new XWPFRun($run, $this->mainStyleSheet);
         $runContainer = $xwpfRun->parseRun();
         $paragraphContainer->addInnerElement($runContainer);
     }
     return $paragraphContainer;
 }
Esempio n. 2
0
 /**
  * @param $charRuns
  * @param $container
  */
 private function parseRuns($charRuns, $container)
 {
     $prevCharRunHTMLElement = null;
     // for ($j = 0; $j < count($charRuns); $j++) {
     foreach ($charRuns as $charRun) {
         if (java_instanceof($charRun, java('org.apache.poi.xwpf.usermodel.XWPFRun'))) {
             $characterRun = $charRun;
             $pictures = java_values($characterRun->getEmbeddedPictures());
             //$charRunHTMLElement = $this->parseCharacterRun($characterRun);
             $run = new XWPFRun($characterRun, $this->mainStyleSheet);
             $charRunHTMLElement = $run->parseRun();
             // Check if this is a picture
             if (count($pictures) > 0) {
                 $container->addInnerElement($charRunHTMLElement);
                 $prevCharRunHTMLElement = clone $charRunHTMLElement;
                 // This part is needed in order to merge similar SPAN tags in one, if they have same
                 // style (this will also prevent unneeded spaces)
             } else {
                 if (@isset($prevCharRunHTMLElement) && $charRunHTMLElement->getClass() == $prevCharRunHTMLElement->getClass()) {
                     $container->getLastElement()->addInnerText($charRunHTMLElement->getInnerText());
                     // The rest of elements
                 } else {
                     $container->addInnerElement($charRunHTMLElement);
                     $prevCharRunHTMLElement = clone $charRunHTMLElement;
                 }
             }
         } else {
             var_dump($charRun);
         }
     }
 }