FPDF 多单元相同高度

Flo*_*843 0 php fpdf

所以,我的问题是我使用 FPDF 从 php 创建一个 pdf 文件。只是一个问题。一旦文本对于单元格来说太大,它就不会换行。所以我开始尝试使用多单元格,但还有另一个问题。一旦将单元格包裹在表格中,我就无法将其他多单元格置于相同的高度。

这是我测试的代码。

<?php
require('../fpdf181/fpdf.php');

$pdf = new FPDF('P', 'mm', 'A4');

$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial', '', 14);

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

$pdf->MultiCell(50,10,"TEST shdfkjhdsafhahsjdkfkhjshakjfhdsdsfhkjdkjhsafhkjdakjhsfhkjdskjhaf", "TBRL");

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

$pdf->MultiCell(50,10,"TEST shdfkjhdsafhahsjdkfkhjshakjfhdsdsfhkjdsafsdafdsafsdafsdafddkjhsafhkjdakjhsfhkjdskjhaf", "TBRL");

$pdf->Output();
Run Code Online (Sandbox Code Playgroud)

从那个代码我得到了这个:

在此处输入图片说明

但它应该是这样的:

在此处输入图片说明

Flo*_*843 5

这就是它的工作原理,对于那些有同样问题的人:

function MultiCellRow($cells, $width, $height, $data, $pdf)
{
    $x = $pdf->GetX();
    $y = $pdf->GetY();
    $maxheight = 0;

    for ($i = 0; $i < $cells; $i++) {
        $pdf->MultiCell($width, $height, $data[$i]);
        if ($pdf->GetY() - $y > $maxheight) $maxheight = $pdf->GetY() - $y;
        $pdf->SetXY($x + ($width * ($i + 1)), $y);
    }

    for ($i = 0; $i < $cells + 1; $i++) {
        $pdf->Line($x + $width * $i, $y, $x + $width * $i, $y + $maxheight);
    }

    $pdf->Line($x, $y, $x + $width * $cells, $y);
    $pdf->Line($x, $y + $maxheight, $x + $width * $cells, $y + $maxheight);
}
Run Code Online (Sandbox Code Playgroud)

要执行我使用的功能: MultiCellRow(3, 50, 10, ["Cell1","Cell2", "Cell3"], $pdf);