/** * Dereference. * Take inderect object, take $value member of this object (must be Zend_Pdf_Element), * take reference to the $value member of this object and assign it to * $value member of current PDF Reference object * $obj can be null * * @throws Zend_Pdf_Exception */ private function _dereference() { $obj = $this->_context->getParser()->getObject($this->_context->getRefTable()->getOffset($this->_objNum . ' ' . $this->_genNum . ' R'), $this->_context); if ($obj === null) { $this->_ref = new Zend_Pdf_Element_Null(); return; } if ($obj->toString() != $this->_objNum . ' ' . $this->_genNum . ' R') { throw new Zend_Pdf_Exception('Incorrect reference to the object'); } $this->_ref = $obj; $this->setParentObject($obj); $this->_factory->registerObject($this); }
/** * Object constructor * * @param Zend_Pdf_Element $val * @param integer $objNum * @param integer $genNum * @param Zend_Pdf_ElementFactory $factory * @throws Zend_Pdf_Exception */ public function __construct(Zend_Pdf_Element $val, $objNum, $genNum, Zend_Pdf_ElementFactory $factory) { if ($val instanceof self) { throw new Zend_Pdf_Exception('Object number must not be instance of Zend_Pdf_Element_Object.'); } if (!(is_integer($objNum) && $objNum > 0)) { throw new Zend_Pdf_Exception('Object number must be positive integer.'); } if (!(is_integer($genNum) && $genNum >= 0)) { throw new Zend_Pdf_Exception('Generation number must be non-negative integer.'); } $this->_value = $val; $this->_objNum = $objNum; $this->_genNum = $genNum; $this->_factory = $factory; $factory->registerObject($this); }
/** * Object constructor * * @param Zend_Pdf_Element $val * @param integer $objNum * @param integer $genNum * @param Zend_Pdf_ElementFactory $factory * @throws Zend_Pdf_Exception */ public function __construct(Zend_Pdf_Element $val, $objNum, $genNum, Zend_Pdf_ElementFactory $factory) { if ($val instanceof self) { require_once PHP_LIBRARY_PATH . 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Object number must not be an instance of Zend_Pdf_Element_Object.'); } if (!(is_integer($objNum) && $objNum > 0)) { require_once PHP_LIBRARY_PATH . 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Object number must be positive integer.'); } if (!(is_integer($genNum) && $genNum >= 0)) { require_once PHP_LIBRARY_PATH . 'Zend/Pdf/Exception.php'; throw new Zend_Pdf_Exception('Generation number must be non-negative integer.'); } $this->_value = $val; $this->_objNum = $objNum; $this->_genNum = $genNum; $this->_factory = $factory; $this->setParentObject($this); $factory->registerObject($this, $objNum . ' ' . $genNum); }