Beispiel #1
0
 /**
  * Read dictionary PDF object
  * Also reads trailing '>>' from a pdf stream
  *
  * @return Zend_Pdf_Element_Dictionary
  * @throws Zend_Pdf_Exception
  */
 private function _readDictionary()
 {
     $dictionary = new Zend_Pdf_Element_Dictionary();
     while (strlen($nextLexeme = $this->readLexeme()) != 0) {
         if ($nextLexeme != '>>') {
             $nameStart = $this->offset - strlen($nextLexeme);
             $name = $this->readElement($nextLexeme);
             $value = $this->readElement();
             if (!$name instanceof Zend_Pdf_Element_Name) {
                 require_once 'Zend/Pdf/Exception.php';
                 throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Name object expected while dictionary reading. Offset - 0x%X.', $nameStart));
             }
             $dictionary->add($name, $value);
         } else {
             return $dictionary;
         }
     }
     require_once 'Zend/Pdf/Exception.php';
     throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while dictionary reading. Offset - 0x%X. \'>>\' expected.', $this->offset));
 }
 public function testAdd()
 {
     $dictionaryObj = new Zend_Pdf_Element_Dictionary();
     $dictionaryObj->add(new Zend_Pdf_Element_Name('Var1'), new Zend_Pdf_Element_Boolean(false));
     $dictionaryObj->add(new Zend_Pdf_Element_Name('Var2'), new Zend_Pdf_Element_Numeric(100.426));
     $dictionaryObj->add(new Zend_Pdf_Element_Name('Var3'), new Zend_Pdf_Element_Name('MyName'));
     $dictionaryObj->add(new Zend_Pdf_Element_Name('Var4'), new Zend_Pdf_Element_String('some text'));
     $this->assertEquals($dictionaryObj->toString(), '<</Var1 false /Var2 100.426 /Var3 /MyName /Var4 (some text) >>');
 }