Ejemplo n.º 1
0
 /**
  * Writes text
  *
  * Parameter array:
  * 'x': int X-point of text
  * 'y': int Y-point of text
  * 'text': string The text to add
  * 'alignment': array [optional] Alignment
  * 'color': mixed [optional] The color of the text
  */
 function addText($params)
 {
     $x = $this->_getX($params['x']);
     $y = $this->_getY($params['y']);
     $text = $params['text'];
     $color = isset($params['color']) ? $params['color'] : false;
     $alignment = isset($params['alignment']) ? $params['alignment'] : false;
     $this->_setFont();
     $textWidth = $this->textWidth($text);
     $textHeight = $this->textHeight($text);
     if (!is_array($alignment)) {
         $alignment = array('vertical' => 'top', 'horizontal' => 'left');
     }
     if (!isset($alignment['vertical'])) {
         $alignment['vertical'] = 'top';
     }
     if (!isset($alignment['horizontal'])) {
         $alignment['horizontal'] = 'left';
     }
     if ($alignment['horizontal'] == 'right') {
         $x = $x - $textWidth;
     } elseif ($alignment['horizontal'] == 'center') {
         $x = $x - $textWidth / 2;
     }
     if ($alignment['vertical'] == 'top') {
         $y = $y + $textHeight;
     } elseif ($alignment['vertical'] == 'center') {
         $y = $y + $textHeight / 2;
     }
     if ($color === false && isset($this->_font['color'])) {
         $color = $this->_font['color'];
     }
     pdf_show_xy($this->_pdf, $text, $this->_getX($x), $this->_getY($y));
     parent::write($params);
 }