/** * * @param \ZendPdf\Annotation\AbstractAnnotation $annotation * @return \ZendPdf\Page */ public function attachAnnotation(Annotation\AbstractAnnotation $annotation) { $annotationDictionary = $annotation->getResource(); if (!$annotationDictionary instanceof InternalType\IndirectObject && !$annotationDictionary instanceof InternalType\IndirectObjectReference) { $annotationDictionary = $this->_objFactory->newObject($annotationDictionary); } if ($this->_pageDictionary->Annots === null) { $this->_pageDictionary->touch(); $this->_pageDictionary->Annots = new InternalType\ArrayObject(); } else { $this->_pageDictionary->Annots->touch(); } $this->_pageDictionary->Annots->items[] = $annotationDictionary; $annotationDictionary->touch(); $annotationDictionary->P = $this->_pageDictionary; return $this; }