我正在使用laravel使用FPDF进行报告。它运行正常但每个底页的图像都没有正确对齐。我提到了图像。我该如何解决?我工作了很长时间。这是我的代码。 提前谢谢。
public function img_pdf_full()
{
$data= visitor::where('flag', '1')
->orderBy('id', 'desc')
->get();
$pdf = new PDF_Code128(); //'P','mm',array(58,20)
$pdf->AddPage('L');
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,10,"Visitor's Log",0,0,'C');
$pdf->Ln();
$pdf->SetFont('Arial','B',10);
$pdf->Cell(12,10,'Photo',1,0,'C',0);
$pdf->Cell(40,10,'Name',1,0,'C',0);
$pdf->Cell(20,10,'Visitor ID',1,0,'C',0);
$pdf->Cell(20,10,'Date',1,0,'C',0);
$pdf->ln();
$pdf->SetFont('Arial','',7);
foreach ($data as $v) {
$image1 = public_path('storage/'.$v->v_photo);
$new_date = date("d F, Y", strtotime($v->v_date));
$pdf->Cell(12,10, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 11.5,10) ,1,0,'C',0);
$pdf->Cell(40,10,$v->v_name,1,0,'C',0);
$pdf->Cell(20,10,$v->v_id,1,0,'C',0);
$pdf->Cell(20,10,$new_date,1,0,'C',0);
$pdf->ln();
}
$pdf->ln();
$pdf->Output();
exit;
}
答案 0 :(得分:0)
您可以检查y的位置是否在底部然后添加页面并将y设置为下一页的首字母。您可以执行以下代码: -
y = $pdf->GetY()
if (y > 275){
$pdf-> AddPage()
$pdf->SetY(20)
y = $pdf->GetY()
}
您可以根据您的要求设置Y的位置。您的代码将类似于: -
foreach ($data as $v) {
$image1 = public_path('storage/'.$v->v_photo);
$new_date = date("d F, Y", strtotime($v->v_date));
// code added by me
y = $pdf->GetY()
if (y > 275){
$pdf-> AddPage()
$pdf->SetY(20)
y = $pdf->GetY()
}
$pdf->Cell(12,10, $pdf->Image($image1, $pdf->GetX(),y, 11.5,10) ,1,0,'C',0);
$pdf->Cell(40,10,$v->v_name,1,0,'C',0);
$pdf->Cell(20,10,$v->v_id,1,0,'C',0);
$pdf->Cell(20,10,$new_date,1,0,'C',0);
$pdf->ln();
}