diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Pdf/Resource.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Pdf/Resource.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,165 @@ +_objectFactory = $resource->getFactory(); + $this->_resource = $resource; + + return; + } + + require_once 'Zend/Pdf/ElementFactory.php'; + + $this->_objectFactory = Zend_Pdf_ElementFactory::createFactory(1); + if ($resource instanceof Zend_Pdf_Element) { + $this->_resource = $this->_objectFactory->newObject($resource); + } else { + $this->_resource = $this->_objectFactory->newStreamObject($resource); + } + } + + /** + * Clone page, extract it and dependent objects from the current document, + * so it can be used within other docs. + */ + public function __clone() + { + /** @todo implementation*/ + +// $factory = Zend_Pdf_ElementFactory::createFactory(1); +// $processed = array(); +// +// // Clone dictionary object. +// // Do it explicitly to prevent sharing resource attributes between different +// // results of clone operation (other resources are still shared) +// $dictionary = new Zend_Pdf_Element_Dictionary(); +// foreach ($this->_pageDictionary->getKeys() as $key) { +// $dictionary->$key = $this->_pageDictionary->$key->makeClone($factory->getFactory(), +// $processed, +// Zend_Pdf_Element::CLONE_MODE_SKIP_PAGES); +// } +// +// $this->_pageDictionary = $factory->newObject($dictionary); +// $this->_objectFactory = $factory; +// $this->_attached = false; +// $this->_style = null; +// $this->_font = null; + } + + /** + * Clone resource, extract it and dependent objects from the current document, + * so it can be used within other docs. + * + * @internal + * @param Zend_Pdf_ElementFactory_Interface $factory + * @param array $processed + * @return Zend_Pdf_Page + */ + public function cloneResource($factory, &$processed) + { + /** @todo implementation*/ + +// // Clone dictionary object. +// // Do it explicitly to prevent sharing page attributes between different +// // results of clonePage() operation (other resources are still shared) +// $dictionary = new Zend_Pdf_Element_Dictionary(); +// foreach ($this->_pageDictionary->getKeys() as $key) { +// $dictionary->$key = $this->_pageDictionary->$key->makeClone($factory->getFactory(), +// $processed, +// Zend_Pdf_Element::CLONE_MODE_SKIP_PAGES); +// } +// +// $clonedPage = new Zend_Pdf_Page($factory->newObject($dictionary), $factory); +// $clonedPage->_attached = false; +// +// return $clonedPage; + } + + /** + * Get resource. + * Used to reference resource in an internal PDF data structures (resource dictionaries) + * + * @internal + * @return Zend_Pdf_Element_Object + */ + public function getResource() + { + return $this->_resource; + } + + /** + * Get factory. + * + * @internal + * @return Zend_Pdf_ElementFactory_Interface + */ + public function getFactory() + { + return $this->_objectFactory; + } +}