Source for file ParserPDF.inc
Documentation is available at ParserPDF.inc
-  * This class handles the XML-based CezPDF markup language created to allow 
-  * templates for the PDFdefaultConverter 
-  * phpDocumentor :: automatic documentation generator 
-  * Copyright (c) 2002-2006 Gregory Beaver 
-  * This library is free software; you can redistribute it 
-  * and/or modify it under the terms of the GNU Lesser General 
-  * Public License as published by the Free Software Foundation; 
-  * either version 2.1 of the License, or (at your option) any 
-  * This library is distributed in the hope that it will be useful, 
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
-  * Lesser General Public License for more details. 
-  * You should have received a copy of the GNU Lesser General Public 
-  * License along with this library; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
-  * @copyright  2002-2006 Gregory Beaver 
-  * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL 
-  * @version    CVS: $Id: ParserPDF.inc 238276 2007-06-22 14:58:30Z ashnazg $ 
-  * @link       http://www.phpdoc.org 
-  * @link       http://pear.php.net/PhpDocumentor 
- /** when <text> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_EVENT_TEXT', 600); 
- /** when <text> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_STATE_TEXT', 700); 
- /** used for parsing stuff between <text> */ 
- define('PHPDOCUMENTOR_PDF_EVENT_CONTENT', 601); 
- /** used for parsing stuff between <text> */ 
- define('PHPDOCUMENTOR_PDF_STATE_CONTENT', 701); 
- /** when <font> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_EVENT_FONT', 602); 
- /** when <font> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_STATE_FONT', 702); 
- /** when <newpage/> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_EVENT_NEWPAGE', 603); 
- /** when <newpage/> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_STATE_NEWPAGE', 703); 
- /** when <pdffunction> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION', 604); 
- /** when <pdffunction> is found in an ezText input */ 
- define('PHPDOCUMENTOR_PDF_STATE_PDFFUNCTION', 704); 
-      * Mapping of event constants to events handler function names 
-             PHPDOCUMENTOR_PDF_EVENT_TEXT - =>  'handleText',
 
-             PHPDOCUMENTOR_PDF_EVENT_FONT - =>  'handleFont',
 
-             PHPDOCUMENTOR_PDF_EVENT_NEWPAGE - =>  'handleNewPage',
 
-             PARSER_EVENT_QUOTE - =>  'handleQuote',
 
-             PARSER_EVENT_NOEVENTS - =>  'defaultHandler',
 
-             PHPDOCUMENTOR_PDF_EVENT_CONTENT - =>  'handleContent',
 
-             PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION - =>  'handlePDFfunction',
 
-      * Sets up the wordparser for this class 
-      * Parse text for PDFParser XML tags, and add the text to the PDF file 
-      * @param    string text to parse for PDFParser XML tags 
-      * @param    string full path to the font directory 
-      * @param    boolean determines whether output is saved in a variable or 
-      *                    added directly to the output 
-      * @staticvar    integer    used for recursion limiting if a handler for an event is not found 
-     function parse ($parse_data,$fontdir,&$pdf,$debug- = false)
 
-         // initialize variables so E_ALL error_reporting doesn't complain 
-         $this->p_vars['event_stack'] - =  new EventStack;
 
-         $this->p_flags['reset_quote_data'] - =  true;
 
-         $this->p_vars['options'] - =  false;
 
-         $this->p_vars['font_dir'] - =  $fontdir;
 
-         $this->p_vars['text_size'] - =  false;
 
-         $this->p_vars['pdf'] - =  &$pdf;
 
-         $this->wp->setup($parse_data); 
-         $this->wp->setWhitespace(true); 
-             $pevent - =  $this->p_vars['event_stack']->getEvent();
 
-                 $this->p_vars['last_pevent'] - =  $lpevent;
 
-             if ($this->p_vars['last_pevent'] - !=  $pevent)
 
-                 // its a new event so the word parser needs to be reconfigured  
-             $this->p_vars['last_word'] - =  $word;
 
-             $word - =  $this->wp->getWord();
 
-             if (PHPDOCUMENTOR_DEBUG - ==  true)
 
-                 echo  "----------------\n";
-                 echo  "LAST: |"- .  $this->p_vars['last_word']- .  "|\n";
- //                echo "INDEX: ".$this->p_vars['curpar']."\n"; 
-                 echo  $this->wp->getPos()- .  " WORD: |"- . $word- . "|\n\n";
-             if (- isset ($this->eventHandlers[$pevent]))
 
-                 $handle - =  $this->eventHandlers[$pevent];
 
-                 $this->$handle($word, $pevent); 
-                 debug('WARNING: possible error, no ParserPDFParser handler for event number '- . $pevent);
 
-                     die("FATAL ERROR, recursion limit reached"); 
-         } while (!($word - ===  false));
 
-             $fp - =  fopen("C:/Documents and Settings/Owner/Desktop/pdfsource.txt", "a");
 
-      * @param integer event constant 
-     function defaultHandler($word, $pevent) 
-      * @tutorial ParserPDF.cls#tags.newpage 
-     function handleNewPage($word, $pevent) 
-         $this->p_vars['event_stack']->popEvent(); 
-         $this->p_vars['pdf']->ezNewPage($this->_debug); 
-      * @tutorial ParserPDF.cls#tags.text 
-     function handleText($word, $pevent) 
-             $this->p_flags['textcolor'] - =  false;
 
-             if (($a - =  $this->p_vars['savecolor'])- !=  $this->p_vars['pdf']->getColor())
 
-                 $this->p_vars['pdf']->setColor($a['r'],$a['g'],$a['b']); 
-         if ($this->p_vars['last_word'] - ==  '<text')
 
-             $this->p_flags['paramval'] - =  false;
 
-             $this->p_flags['textcolor'] - =  false;
 
-             $this->p_vars['curparam'] - =  false;
 
-             $this->p_vars['savecolor'] - =  $this->p_vars['pdf']->getColor();
 
-             $this->p_vars['options'] - =  array();
 
-             unset ($this->p_vars['quote_data']);
-         if (!$this->p_flags['paramval']) 
- //                debug('set paramval '.$this->p_vars['curparam']); 
-                 $this->p_flags['paramval'] - =  true;
 
-             $this->p_vars['curparam'] - =  trim($word);
 
-                 if ($this->p_vars['curparam'] - ==  'size')
 
-                     $this->p_vars['text_size'] - = (int) $this->p_vars['quote_data'];
 
-                     $this->p_flags['paramval'] - =  false;
 
-                     $this->p_vars['curparam'] - =  false;
 
-                         $this->p_vars['curparam'] - =  trim($word);
 
-                     unset ($this->p_vars['quote_data']);
-                 } elseif ($this->p_vars['curparam'] - ==  'color')
 
-                     if ($a - =  $this->p_vars['pdf']->validHTMLColor($this->p_vars['quote_data']))
 
-                         $this->p_flags['textcolor'] - =  true;
 
-                         $this->p_vars['pdf']->setHTMLColor($a); 
-                     if ($this->p_vars['quote_data'] - === (string)(int) $this->p_vars['quote_data']) $this->p_vars['quote_data']- = (int) $this->p_vars['quote_data'];
 
- //                    debug('added '.$this->p_vars['curparam'].' = '.$this->p_vars['quote_data']); 
-                     $this->p_vars['options'][$this->p_vars['curparam']] - =  $this->p_vars['quote_data'];
 
-                     $this->p_flags['paramval'] - =  false;
 
-                     $this->p_vars['curparam'] - =  false;
 
-                         $this->p_vars['curparam'] - =  trim($word);
 
-                     unset ($this->p_vars['quote_data']);
-      * @tutorial ParserPDF.cls#tags.font 
-     function handleFont($word, $pevent) 
-         if ($this->p_vars['last_word'] - ==  '<font')
 
-             $this->p_flags['paramval'] - =  false;
 
-             $this->p_vars['curparam'] - =  false;
 
-             unset ($this->p_vars['quote_data']);
-         if (!$this->p_flags['paramval']) 
-                 //debug('set paramval '.$this->p_vars['curparam']); 
-                 $this->p_flags['paramval'] - =  true;
 
-             $this->p_vars['curparam'] - =  trim($word);
 
-                 if ($this->p_vars['curparam'] - ==  'face')
 
-                     //debug('set face to '.$this->p_vars['font_dir'] . $this->p_vars['quote_data'] . '.afm'); 
-                     $this->p_vars['pdf']->selectFont($this->p_vars['font_dir'] - .  $this->p_vars['quote_data']- .  '.afm');
 
-                     $this->p_flags['paramval'] - =  false;
 
-                     $this->p_vars['curparam'] - =  false;
 
-                     unset ($this->p_vars['quote_data']);
-      * @tutorial ParserPDF.cls#tags.pdffunction 
-     function handlePDFFunction($word, $pevent) 
-         if ($this->p_vars['last_word'] - ==  '<pdffunction:')
 
-             $this->p_flags['paramval'] - =  $this->p_flags['curparam']- =  false;
 
-             $this->p_flags['returnval'] - =  false;
 
-             $this->p_vars['funcname'] - =  trim($word);
 
- //            debug("funcname is $word"); 
-             $this->p_vars['options'] - =  array();
 
-             unset ($this->p_vars['quote_data']);
-         if (!$this->p_flags['paramval']) 
-             { // call function, no parameters 
-                 $func - =  $this->p_vars['funcname'];
 
-                     if (count($this->p_vars['options'])) 
- //                        fancy_debug("calling function $func",$this->p_vars['options']); 
- //                        debug("calling function $func"); 
-                         $a - =  $this->p_vars['pdf']->$func();
 
-                     if ($this->p_flags['returnval']) 
- //                        debug("setting returnvar ".$this->p_vars['return_varname']); 
-                         $this->tempvars[$this->p_vars['return_varname']] - =  $a;
 
- //                debug('set paramval '.$this->p_vars['curparam']); 
-                 $this->p_flags['paramval'] - =  true;
 
-             $this->p_vars['curparam'] - =  trim($word);
 
-             if ($this->p_vars['last_word'] - ==  '=')
 
-             { // check to see if we should use a tempvar from a previous return 
-                         $a - =  $this->p_vars['pdf']->$a;
 
-     //                    debug("set option to $word"); 
-                         $this->p_vars['options'][] - =  $a;
 
-                         $this->p_flags['paramval'] - =  false;
 
-                         unset ($this->p_vars['quote_data']);
-                         if (!- isset ($this->tempvars[substr(trim($word),1)]))
 
-     //                    debug("set option to $word"); 
-                         $this->p_vars['options'][] - =  $a;
 
-                         $this->p_flags['paramval'] - =  false;
 
-                         unset ($this->p_vars['quote_data']);
-                     if ($this->p_vars['quote_data'] - === (string)(int) $this->p_vars['quote_data'])
 
-                         $this->p_vars['quote_data'] - = (int) $this->p_vars['quote_data'];
 
-                     if ($this->p_vars['curparam'] - ==  'return')
 
- //                        debug("param is return"); 
-                         $this->p_vars['return_varname'] - =  $this->p_vars['quote_data'];
 
-                         $this->p_flags['returnval'] - =  true;
 
- //                        fancy_debug("set option to arg",$this->p_vars['quote_data']); 
-                         $this->p_vars['options'][] - =  $this->p_vars['quote_data'];
 
-                     $this->p_flags['paramval'] - =  false;
 
-                     unset ($this->p_vars['quote_data']);
-             { // call function, with parameters 
-                 $func - =  $this->p_vars['funcname'];
 
-                     if (count($this->p_vars['options'])) 
- //                        fancy_debug("calling function $func",$this->p_vars['options']); 
-                         if ($func - ==  'ezImage') {
 
-                             // set padding to 5, width to 0, resize to none 
-                             $this->p_vars['options'][] - =  5;
 
-                             $this->p_vars['options'][] - =  0;
 
-                             $this->p_vars['options'][] - =  'none';
 
- //                        debug("calling function $func"); 
-                         $a - =  $this->p_vars['pdf']->$func();
 
-                     if ($this->p_flags['returnval']) 
- //                        debug("setting returnvar ".$this->p_vars['return_varname']); 
-                         $this->tempvars[$this->p_vars['return_varname']] - =  $a;
 
-      * Adds content to the <text> tag 
-     function handleContent($word, $pevent) 
-                 if (!- isset ($this->p_vars['content'])) return;
 
-                 $this->p_vars['pdf']->_ezText($this->p_vars['content'],$this->p_vars['text_size'],$this->p_vars['options']); 
-                 unset ($this->p_vars['content']);
-             $this->wp->backupPos($word); 
-             if (!- isset ($this->p_vars['content'])) return;
 
-             $this->p_vars['pdf']->_ezText($this->p_vars['content'],$this->p_vars['text_size'],$this->p_vars['options']); 
-             unset ($this->p_vars['content']);
-             if (!- isset ($this->p_vars['content'])) $this->p_vars['content']- =  '';
 
-             if (- isset ($this->p_vars['quote_data']))
 
-                 $this->p_vars['content'] - .=  $this->p_vars['quote_data'];
 
-                 unset ($this->p_vars['quote_data']);
-             $this->p_vars['content'] - .=  $word;
 
-      * setup the parser tokens, and the pushEvent/popEvent arrays 
-      * @see $tokens, $pushEvent, $popEvent 
-         $this->tokens[STATE_NOEVENTS]            - =  array("<text","<font","<newpage />","<newpage/>",'<pdffunction:','"');
 
-         // For each event word to event mapings 
- ########################## 
- ########################## 
- ########################## 
- ########################## 
- ########################## 
-      * Return the name of the parser event 
-         if (- isset ($lookup[$value]))
 
 
	
		Documentation generated on Mon, 05 Dec 2011 21:51:18 -0600 by phpDocumentor 1.4.4