如何使用FPDF在3行表中打印不同数量的列

时间:2018-01-14 16:50:36

标签: php fpdf

我正在研究这个,但没有找到合适的解决方案。所以,我想使用FPDF创建表,每行有3行和不同数量的列。

function MyTable($header, $data){


$w = array(63, 63, 63);

for($i=0;$i<count($header);$i++)
    $this->Cell($w[$i],4,$header[$i],1,0,'L');
$this->Ln();


foreach($data as $row)
{
    $x=$this->GetX();
    $y=$this->GetY();
    $push_right = 0;

    foreach($row as $col){
    $this->Cell($push_right,4,$col,'LR');
    $this->Ln();
    }
    $push_right = $x + 63;
    $this->SetXY($push_right,97);
}
$this->Cell(array_sum($w),0,'','T');}

并致电:

$pdf = new PDF();
 $pdf->AliasNbPages();
 $pdf->AddPage();
 $pdf->SetFont('Times','',16);
 $header = array('Alergije','Hronicne bolesti','Rizici');
 $data = array(array('Penicilin','Latex'),array('Hipertenzija','Dijabetes','Secer'),array('Rizik 1','Rizik 2','Rizik 3','Rizik 4'));
 $pdf->MyTable($header,$data);
  $pdf->Output();

输出是这样的:

enter image description here

我的目标是得到这个: enter image description here

正如您所看到的,每列中的第一个值都已正确定位,但我无法找到其余值的错误位置。

我真的很感激一些建议。

1 个答案:

答案 0 :(得分:0)

使用FPDF函数解决,定位setXY(),而不是使用Rect()绘制矩形,最后将数据写入MultiCell()。