FPDF检查多单元的高度

时间:2012-11-14 14:34:56

标签: php pdf fpdf

我正在使用FPDF生成显示产品详细信息的pdf,显然这将具有可变文本长度,导致单元格高度不同。

在这种情况下,我正在检查产品包含多少香水,然后显示每个香水的名称和描述,同时记录这应该占用多少行。

for ($i = 0;$i <= $countfrag; $i++) {
    $pdf->SetXY(102, $next);
    $fragname = $ranges->getFragName($fragcount[$i]);
    $fragdesc = $ranges->getFragDesc($fragcount[$i]);
    $pdf->SetFont('Arial','B',10);
    $pdf->MultiCell(88,4, $fragname, 0, L);
    $next = $next + 4;
    $pdf->SetFont('Gill','',11);
    $pdf->SetXY(102, $next);
    $pdf->MultiCell(98,4, $fragdesc, 0, L); 
    $len = $pdf->GetStringWidth($fragdesc);
    $remain = ceil($len / 98) + 1;
    $extra = $remain * 4;
    $next = $next + $extra;
    }

正如你所看到的,我得到字符串的宽度为$ pdf-&gt; GetStringWidth然后将其除以多单元格的宽度(98)然后加1以获得加1以获得额外的行空间在下一个打印之前。

虽然这在大多数情况下起作用,但它确实在我正在创建的一些pdf上存在问题。

我有一个len计算在373.2784,它只给我4行的高度,因为它需要5行空间才能保持一致..

1 个答案:

答案 0 :(得分:0)

FPDF不支持良好的多单元! 几年前,我想FPDF已经停止了支持。使用TCPDF它具有几乎相同的功能/调用(> 95%)。它是完全先进的,具有超级文档。 TCPDF支持事务,Multicell和UTF-8。