gpt4 book ai didi

php - FPDF/PHP : Footer page is display at the bottom of the next page (Blank page)

转载 作者:行者123 更新时间:2023-11-29 09:25:37 32 4
gpt4 key购买 nike

目前,我创建了一个可以生成PDF的系统。 PDF 中的数据来自 MySQL 数据库。现在,我像这样显示数据

第一页:仅显示一条数据。

第二页文字:将显示数据(每页最多 3 个数据)

说得更清楚一点,比如我有6条数据,它会显示如下:

首页 = 1 条数据显示

第二页 = 3 条数据显示

第三页2数据显示

现在,我想添加页脚。页脚将显示在页面末尾(底部)。我已经创建了页脚。

如果最后一页包含 1 或 2 个数据,则页脚将显示在该页的底部。但是...如果最后一页包含 3 个数据,页脚将显示在下一页(空白页)的底部。我不知道是什么问题。有人可以帮忙吗?

下面是我的代码

  $user3 = $conn->query("SELECT * FROM ot_report LEFT JOIN ot_users ON ot_report.badgeid = ot_users.badgeid LEFT JOIN ot_team ON ot_team.team_id = ot_users.team_id 
WHERE ot_team.team_id = '".$_GET['team']."' AND report_date BETWEEN '".$_GET["from"]."' AND '".$_GET["to"]."' ORDER BY ot_report.report_date DESC");
$count = 0;
while ($row = $user3->fetch(PDO::FETCH_ASSOC)){

$pdf->SetFont('Arial','B',10);
$pdf->Cell(20,7,'Date:',1,0);
$pdf->Cell(67,7,date('d-m-Y',strtotime($row['report_date'])),1,0);
$pdf->Cell(20,7,'Time:',1,0);
$pdf->Cell(34,7,"From: ".date('H:i',strtotime($row['ot_start'])),1,0);
$pdf->Cell(33,7,"To: ".date('H:i',strtotime($row['ot_end'])),1,1);
$pdf->Cell(87,7,'Before',1,0,'C');
$pdf->Cell(87,7,'After',1,1, 'C');

$logo = file_get_contents('../../images/faces/noimage.png');

if(!isset($row['photo_before']) || empty($row['photo_before'])) {
$pdf->Cell(87, 57, $pdf->MemImage($logo, $pdf->GetX()+20, $pdf->GetY()+5, 47,47,), 1, 0, 'C');
}else{
$pdf->Cell(87, 57, $pdf->MemImage(base64_decode($row['photo_before']), $pdf->GetX()+21, $pdf->GetY()+2, 45,53,), 1, 0, 'C');
}

if(!isset($row['photo_after']) || empty($row['photo_after'])) {
$pdf->Cell(87, 57, $pdf->MemImage($logo, $pdf->GetX()+20, $pdf->GetY()+5, 47,47,), 1, 1, 'C');
}else{
$pdf->Cell(87, 57, $pdf->MemImage(base64_decode($row['photo_after']), $pdf->GetX()+21, $pdf->GetY()+2, 45,53,), 1, 1, 'C');
}

if ($row['time_photo_before'] == null){
$pdf->Cell(87,7,'-',1,0, 'C');
}else{
$pdf->Cell(87,7,$row['time_photo_before'],1,0, 'C');
}

if ($row['time_photo_after'] == null){
$pdf->Cell(87,7,'-',1,1, 'C');
}else{
$pdf->Cell(87,7,$row['time_photo_after'],1,1, 'C');
}

if ((($count - 3) % 3) === 0) {


$pdf->AddPage();
$pdf->Cell(60,7,'',0,1,"C");

}

$count++;

}

$pdf->Footer($pdf->SetY(-48));

$pdf->Footer($pdf->SetFont('Arial','B',9));
$pdf->Footer($pdf->Cell(58,9,'Prepared by,',0,0,"C"));
$pdf->Footer($pdf->Cell(58,9,'Verified by,',0,0,"C"));
$pdf->Footer($pdf->Cell(58,9,'Approved by,',0,1,"C"));

$pdf->Output();

?>

最佳答案

扩展 FPDF 类并修改默认页脚。任何时候启动新页面时,都会调用页脚方法的内容,这应该会为您带来所需的结果。

class PDF extends FPDF {
function Footer() {
$this->SetY(-48));
$this->SetFont('Arial','B',9));
$this->Cell(58,9,'Prepared by,',0,0,"C"));
$this->Cell(58,9,'Verified by,',0,0,"C"));
$this->Cell(58,9,'Approved by,',0,1,"C"));
} // end of the Footer function
} // end of the PDF class

关于php - FPDF/PHP : Footer page is display at the bottom of the next page (Blank page),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657086/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com