只需要我的代码帮助。 我的问题是如何从上一页获取表头并在剩余页面上访问它?如果我有一个大数据,我想在每个页面中也指出标题表。但我不知道该怎么做。
这是构建表格的函数:
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);
}
以下是对PDF类的调用
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();
顺便说一下,我还有一个页眉和页脚功能。 在第一行中,我需要有39行,不包括表头和第二行,剩下的行应该是36行。
我该如何计算?我应该在哪里进行计算?
请帮助我们谢谢。
答案 0 :(得分:0)
根据fpdf教程。
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('logo.png',10,6,30);
// Arial bold 15
$this->SetFont('Arial','B',15);
// Move to the right
$this->Cell(80);
// Title
$this->Cell(30,10,'Title',1,0,'C');
// Line break
$this->Ln(20);
}
// Page footer
function Footer()
{
// Position at 1.5 cm from bottom
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Page number
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'Printing line number '.$i,0,1);
$pdf->Output();