getType() != Zend_Pdf_Element::TYPE_ARRAY) { #require_once 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Explicit destination resource Array must be a direct or an indirect array object.'); } $this->_destinationArray = $destinationArray; switch (count($this->_destinationArray->items)) { case 0: #require_once 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Destination array must contain a page reference.'); break; case 1: #require_once 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Destination array must contain a destination type name.'); break; default: // Do nothing break; } switch ($this->_destinationArray->items[0]->getType()) { case Zend_Pdf_Element::TYPE_NUMERIC: $this->_isRemote = true; break; case Zend_Pdf_Element::TYPE_DICTIONARY: $this->_isRemote = false; break; default: #require_once 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Destination target must be a page number or page dictionary object.'); break; } } /** * Returns true if it's a remote destination * * @return boolean */ public function isRemote() { return $this->_isRemote; } /** * Get resource * * @internal * @return Zend_Pdf_Element */ public function getResource() { return $this->_destinationArray; } }