jeudi 24 octobre 2013

How to display table header in every page using FPDF library?

just wanna ask if why is my pdf file is not opening in nitro pdf. Im using fpdf. Im just trying to have a fancy table in my pd, but it seems that there is an error. Anyone who can figure out which is it? here is the code:

function BuildTable($header,$data) {


//Colors, line width and bold font

$this->SetFillColor(255,255,255);

$this->SetTextColor(0);

$this->SetDrawColor(0,0,0);

$this->SetLineWidth(.3);

$this->SetFont('Arial','',7);


//Header

// make an array for the column widths


$this->SetFillColor(0,0,0);

$this->SetTextColor(255);

$this->SetDrawColor(0,0,0);

$this->SetLineWidth(.3);

$this->SetFont('','B');


$w = array(15,120,30,30); //CHANGE THIS

// send the headers to the PDF document


for($i = 0; $i < count($header); $i++)


$this->Cell($w[$i],7,$header[$i],1,0,'C',1);

$this->Ln();


//Color and font restoration


$this->SetFillColor(255,255,230);

$this->SetTextColor(0);

$this->SetFont('');

$this->SetTextColor(0);

$fill = false; // used to alternate row color backgrounds


//HERE'S THE PART THAT LOOPS THE DATA

foreach($data as $row){


$this->Cell($w[0],4,$row[0],'LR',0,'C',$fill);

$this->SetFont('');


$this->Cell($w[1],4,$row[1],'LR',0,'L',$fill);

$this->SetFont('');


$this->Cell($w[2],4,$row[2],'LR',0,'R',$fill);

$this->SetFont('');


$this->Cell($w[3],4,$row[3],'LR',0,'R',$fill);

$this->SetFont('');


$this->Ln();

$fill =! $fill;

}


$this->Cell(array_sum($w),0,'','T');


$this->Ln(50);

$this->Ln(50);


}


Below is the call for PDF class


foreach($result->result_array() as $row){


$data[] = array($row['item_qty'],

$row['itemname'],

number_format($row['item_price'],2),

number_format($row['total'],2),


);


}


$pdf = new PDF();

$pdf->AliasNbPages();


$header = array('QTY','ITEM / DESCRIPTION' , 'UNIT PRICE', 'TOTAL AMOUNT');


$pdf->SetFont('Arial','',8);

$pdf->SetFillColor(255,0,0);


$pdf->AddPage('l');


$pdf->Ln();

$pdf = new PDF();

By the way I have also a header and footer function. In first row I need to have 39 rows excluding the table header and the second row and also the remaining should 36 rows.


How can I compute that? Where should I need a computation for that?


Please help me guys thanks.






via Symbianize Forum http://www.symbianize.com/showthread.php?t=1072729&goto=newpost

Aucun commentaire:

Enregistrer un commentaire