在FPDF中并排多级MultiCells

时间:2014-11-02 18:47:49

标签: php foreach fpdf

我正在将2个Cell转换为MultiCells,以便在FPDF中进行文本换行。我在这里发了一篇帖子,我发现这个帖子非常有用,可以将2个MultiCells并排放置。我遇到的问题是MultiCell在foreach语句中,如果前一个MultiCell有多行,它会重叠下一个MultiCell。到目前为止,我已经尝试了几个选项,包括添加到MultiCell的高度,但是我需要它们具有适合其中内容的高度。

然后我很好,我需要计算每个MultiCell的高度,并添加GetY。我找到了GetMultiCellHeight()的代码,但是当我尝试使用它时,我记得这增加了当前MultiCell的位置,而不是NEXT MultiCell的位置。这就是我被卡住的地方!

这是我到目前为止的代码:

foreach($final as $row){

// Only loop over the legal fee
if($row['fee_scale_category_id'] == 3){

    $amount_total += $row['amount'];
    $vat_total += $row['vat'];
    $total_total += ($row['amount'] + $row['vat']);
    $fee_amount = $row['amount'];



    $pdf->SetX(10);
    $pdf->SetFont('Arial','',9);

    $x = $pdf->GetX();
    $y = $pdf->GetY();

    $multiCellHeight = $pdf->GetMultiCellHeight(80,6,$row['fee_scale_item'].':',0,"L"); 

    if ($multiCellHeight > 6) {

        $pdf->SetXY($x, $y + $multiCellHeight);

    } else {

        $pdf->SetXY($x, $y);

    }

    $pdf->MultiCell(80,6,$row['fee_scale_item'].':',0,"L");

    if ($multiCellHeight > 6) {

        $pdf->SetXY($x+ 80, $y + $multiCellHeight);

    } else {

        $pdf->SetXY($x + 80, $y);

    }

    $pdf->MultiCell(20,6,substr('£', 1, 1).round_me($row['amount'] + $row['vat']),0,"R");

}

}

如何帮助我传递当前MultiCell的高度,以便与下一个MultiCell一起使用,我们将不胜感激!

亲切的问候,

n00bstacker

1 个答案:

答案 0 :(得分:1)

看起来脚本Table with MultiCells on fpdf.org正是我需要的。谢谢奥利弗!