Php TCPDF MultiCell()按预期放置内容,在上一个单元格上绘制边框

Php TCPDF MultiCell()按预期放置内容,在上一个单元格上绘制边框,php,tcpdf,Php,Tcpdf,我有一个块,它在一个多列pdf中创建了一组TCPDFMultiCell()s $TColW0 = 29; $DColW0 = 37; $mbh = $pdf->getStringHeight($DColW0, $reqHeader['partPackingInfo'], false, true, '', 1); $pdf->MultiCell($TColW0, $mbh, 'Packaging Details:', 1, 'R', '', 0, '', '', true, 0, fa

我有一个块,它在一个多列pdf中创建了一组TCPDF
MultiCell()
s

$TColW0 = 29;
$DColW0 = 37;
$mbh = $pdf->getStringHeight($DColW0, $reqHeader['partPackingInfo'], false, true, '', 1);
$pdf->MultiCell($TColW0, $mbh, 'Packaging Details:', 1, 'R', '', 0, '', '', true, 0, false, false, '', 'M', false);
$pdf->MultiCell($DColW0, $mbh, $reqHeader['partPackingInfo'], 1, 'L', '', 1, '', '', true, 0, false, false, '', 'M', false);
  • 第一行使用TCPDF的本机函数获取多行字符串的高度,并设置
    $mbh
    变量,以便稍后将两个单元格设置为相同的高度
  • $DColW0
    $TColW0
    变量是预先确定的,并设置列宽
我的问题是结果是这样的

我尝试在数据单元格的
x
值中使用标题列的宽度,但这只是将内容移出了列

内容看起来位于正确的位置。数据单元格的边框刚好绘制在错误的位置。当涉及到
MultiCell()
borders时,是否有一个设置或我缺少的东西?非常感谢您的帮助/建议


更新块以使用SetX

$TColW0 = 29;
$DColW0 = 37;
$mbh = $pdf->getStringHeight($DColW0, $reqHeader['partPackingInfo'], false, true, '', 1);
$pdf->MultiCell($TColW0, $mbh, 'Packaging Details:', 1, 'R', '', 0, '', '', true, 0, false, false, '', 'M', false);
$pdf->SetX($TColW0);
$pdf->MultiCell($DColW0, $mbh, $reqHeader['partPackingInfo'], 1, 'L', '', 1, '', '', true, 0, false, false, '', 'M', false);
独立于边界的绘制位置移动内容。


MultiCell()中使用x规范

内容再次移动,边框在上一个单元格上绘制


“单元格填充”处于启用状态时的结果

$TColW0 = 29;
$DColW0 = 37;
$mbh = $pdf->getStringHeight($DColW0, $reqHeader['partPackingInfo'], false, true, '', 1);
$pdf->MultiCell($TColW0, $mbh, 'Packaging Details:', 1, 'R', 1, 0, '', '', true, 0, false, false, '', 'M', false);
$pdf->MultiCell($DColW0, $mbh, $reqHeader['partPackingInfo'], 1, 'L', 1, 1, '', '', true, 0, false, false, '', 'M', false);

在该行的所有先前绘制的边框上启用“填充”,最后一个单元格的边框除外。两个单元格的内容仍在预期位置,边框绘制为预期大小,但绘制位置错误


多小区参数

MultiCell( $w, $h, $txt, $border = 0, $align = 'J', $fill = false, $ln = 1, $x = '', $y = '', $reseth = true, $stretch = 0, $ishtml = false, $autopadding = true, $maxh = 0, $valign = 'T', $fitcell = false )

不好,内容会移动,但边框仍在上一个单元格上绘制。边框在单元格周围绘制。如果有两个边界重叠,则有两个单元格重叠,这意味着您不了解MultiCell的参数。它们与单元格相同,我在前面链接的帖子中对此进行了解释。如果单元格的内容不一致,两个单元格如何重叠?这就像创建一个大小为500×500的div,但只将大小为200×200的内容放入其中。内容不会填充整个div,但在div上绘制的边框仍会绘制在500 x 500框上。
MultiCell( $w, $h, $txt, $border = 0, $align = 'J', $fill = false, $ln = 1, $x = '', $y = '', $reseth = true, $stretch = 0, $ishtml = false, $autopadding = true, $maxh = 0, $valign = 'T', $fitcell = false )