class_mcFPDF.inc.php 1.75 KB
<?

class mcFPDF extends FPDF {

	protected static function setCell(FPDF $param_fpdf, $param_value, $param_x, $param_width, $param_align='L') {
		$param_fpdf->SetX($param_x);
		if($param_width < 0) {
			$param_width = 0;
		}
		$param_fpdf->Cell($param_width, 7, $param_value, 0, 0, $param_align);
	}

	public static  function tab_setHeadLine(FPDF $param_fpdf, array $param_values, array $param_table_parameter=null) {
		$param_fpdf->SetFont('Arial', 'B', 8);
		self::tab_setLine($param_fpdf, $param_values, $param_table_parameter);
		// Linienfarbe auf schwarz einstellen
		$param_fpdf->SetDrawColor(0, 0, 0);
		// Linienbreite einstellen, 0.2 mm
		$param_fpdf->SetLineWidth(0.2);

		// Linien zeichnen
		$param_fpdf->Line(10, $param_fpdf->getY(), 186, $param_fpdf->getY());
		$param_fpdf->Ln(3);
	}

	private static  function tab_getdefaultTableParameter() {
		$table_parameter = array();
		$table_parameter['leftPostions'] = array();
		foreach($param_values as $tmp) {
			$table_parameter['leftPostions'][] = array('pos'	=>	20,		'align' => 'L');
		}
		$table_parameter['linesize'] = 5;
		return $table_parameter;
	}

	public static  function tab_setLine(FPDF $param_fpdf, array $param_values, array $param_table_parameter=null) {

		if(is_null($param_table_parameter)) {
			$param_table_parameter = self::tab_getdefaultTableParameter();
		}

		if(count($param_table_parameter['leftPostions']) == count($param_values)) {
			foreach($param_values as $id => $value) {
				self::setCell($param_fpdf, $value, $param_table_parameter['leftPostions'][$id]['pos'], $param_table_parameter['leftPostions'][$id+1]['pos']-$param_table_parameter['leftPostions'][$id]['pos'], $param_table_parameter['leftPostions'][$id]['align']);
			}
		}
		$param_fpdf->Ln($param_table_parameter['linesize']);
	}

}

?>