FPDF:10个细胞后表细胞系断裂

时间:2016-01-19 14:08:33

标签: fpdf

嘿,伙计们再次发给我了

我正在尝试复制此输出 enter image description here

但是我在fpdf中的输出是这样的

enter image description here

这是我的代码:

    $pdf = new PDF();
    $pdf->AliasNbPages();
    $pdf->AddPage('L');
    $pdf->SetFont('Arial','',11);
    $pdf->Cell(112);
    $pdf->Cell(45,10,'Teacher'."'s ".'Table',1,'','C');
    $pdf->Ln(20);
    while($row = mysql_fetch_array($result)){
        $fname = $row['stud_fname'];
        $lname = $row['stud_lname'];

        $pdf->SetFont('Arial','',11);
        $pdf->Cell(35,10,$lname.", ".$fname,1,'','C');
    }
    $pdf->Output();

输出应该是左边的五个单元格(空格)和右边的另外五个单元格

1 个答案:

答案 0 :(得分:0)

确保调整单元格的宽度,以便将11个单元格放在一行中,或者如果仍然没有足够的空间,请尝试更改字体类型和大小

你应该尝试这样的事情

 $max=50;
 $num=1;
 while($row = mysql_fetch_array($result)){
   $fname = $row['stud_fname'];
   $lname = $row['stud_lname'];
   $pdf->SetFont('Arial','',11);
   if ($num mod 5==0 && $num mod 2 == 1){
     $pdf->Cell(5,10,$lname.", ".$fname,1,'','C');
     $pdf->Cell(5,10,'',1,'','C');
   }else if ($num mod 5==0 && $num mod 2 == 0){
     $pdf->Cell(5,10,$lname.", ".$fname,1,1,'C');
   }else{
     $pdf->Cell(5,10,$lname.", ".$fname,1,'','C');
   }
   $num++;
 }


通过该代码,我们必须设置我们想要创建的单元格的最大值

首先循环我们需要创建具有数据库数据的单元格,第二次循环我们需要创建没有数据的单元格

 if ($num <= $max){
  for ($i=$num;$i<=$max;$i++){
    if ($num mod 5==0 && $num mod 2 == 1){
     $pdf->Cell(5,10,'',1,'','C');
     $pdf->Cell(5,10,'',1,'','C');
   }else if ($num mod 5==0 && $num mod 2 == 0){
     $pdf->Cell(5,10,'',1,1,'C');
   }else{
     $pdf->Cell(5,10,'',1,'','C');
   }
  }
 } 

代码应该有用,如果你还没有看到右边的五个单元格,你应该更改单元格宽度,字体大小或类型以适合具有纸张大小的视图

您可以进行一些修改以在单元格中添加数字

你应该注意的事情是Cell函数将写一个重叠文本,除了你更改核心功能或者你可以使用MultiCell函数之外不会包装文本