У меня есть этот блок, который создает набор TCPDF MultiCell()
s в многоколоночном pdf.
$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
предварительно определены и задают ширину столбцов.
Моя проблемарезультат выглядит следующим образом:
![TCPDF Multiline Issue](https://i.stack.imgur.com/ffclH.png)
Я попытался использовать ширину столбца заголовка в значении x
ячейки данных, но это просто сдвигаетсодержимое выходит за пределы столбца.
Содержимое выглядит в нужном месте, а граница для ячейки данных нарисована не в том месте.Есть ли настройка или что-то, чего мне не хватает, когда дело доходит до MultiCell()
границ?Любая помощь / предложения приветствуются.
Обновление блока для использования 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);
Смещает содержимое независимо от того, где нарисована граница.![SETX Example](https://i.stack.imgur.com/EFOSs.png)
Использование спецификации x внутри MultiCell()
$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, $TColW0, '', true, 0, false, false, '', 'M', false);
![enter image description here](https://i.stack.imgur.com/Kbhga.png)
Снова содержимое сдвигается, граница рисуется поверх предыдущей ячейки.
Документация MultiCell ().
Результат с включенной заливкой ячейки.
$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);
![FillExample](https://i.stack.imgur.com/XQwDn.png)
Включение заливки закрашивает все ранее нарисованные границы для этой строки, за исключением границы для последней ячейки.Содержимое обеих ячеек все еще находится в ожидаемой позиции, граница рисуется в ожидаемом размере, но рисуется в неправильной позиции.
Параметры для Multicell;
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 )