/** * 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); }