Smalot\PdfParser\Page::getText PHP Method

getText() public method

public getText ( Page $page = null ) : string
$page Page
return string
    public function getText(Page $page = null)
    {
        if ($contents = $this->get('Contents')) {
            if ($contents instanceof ElementMissing) {
                return '';
            } elseif ($contents instanceof ElementNull) {
                return '';
            } elseif ($contents instanceof Object) {
                $elements = $contents->getHeader()->getElements();
                if (is_numeric(key($elements))) {
                    $new_content = '';
                    foreach ($elements as $element) {
                        if ($element instanceof ElementXRef) {
                            $new_content .= $element->getObject()->getContent();
                        } else {
                            $new_content .= $element->getContent();
                        }
                    }
                    $header = new Header(array(), $this->document);
                    $contents = new Object($this->document, $header, $new_content);
                }
            } elseif ($contents instanceof ElementArray) {
                // Create a virtual global content.
                $new_content = '';
                foreach ($contents->getContent() as $content) {
                    $new_content .= $content->getContent() . "\n";
                }
                $header = new Header(array(), $this->document);
                $contents = new Object($this->document, $header, $new_content);
            }
            return $contents->getText($this);
        }
        return '';
    }

Usage Example

Beispiel #1
0
 /**
  * @param Page $page
  *
  * @return string
  */
 public function getText(Page $page = null)
 {
     $texts = array();
     $pages = $this->getPages();
     foreach ($pages as $index => $page) {
         if ($text = trim($page->getText())) {
             $texts[] = $text;
         }
     }
     return implode("\n\n", $texts);
 }