我正在研究这个,但没有找到合适的解决方案。所以,我想使用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();
输出是这样的:
正如您所看到的,每列中的第一个值都已正确定位,但我无法找到其余值的错误位置。
我真的很感激一些建议。
答案 0 :(得分:0)
使用FPDF函数解决,定位setXY(),而不是使用Rect()绘制矩形,最后将数据写入MultiCell()。