FPDF печатает MultiCell() рядом

Я искал googled и нашел этот вопрос очень распространенным, но я не могу найти правильный и прямой ответ. Я использую FPDF, и я хочу генерировать таблицы с помощью MultiCell(), так как мне нужно свойство разрыва строки. Tried Cell(), но он не может прочитать разрыв строки.

$col1="PILOT REMARKS\n\n";
$pdf->MultiCell(189, 10, $col1, 1, 1);
$col2="Pilot Name and Signature\n".$name;
$pdf->MultiCell(63, 10, $col2, 1);
$pdf->Ln(0);
$col3="Date Prepared\n".$date;
$pdf->MultiCell(63, 10, $col3, 1);

Но я не могу сгенерировать его должным образом, потому что MultiCell() суммирует результат. Как я могу добиться того, чтобы MultiCell() печатался смежно друг с другом самым простым и легким способом?

Нашел этот аналогичный вопрос, но он не дает четкого ответа. Любая помощь будет оценена. Заранее спасибо.

Ответ 1

Попробуйте сохранить координаты X и Y, а затем установите их после записи

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

$col1="PILOT REMARKS\n\n";
$pdf->MultiCell(189, 10, $col1, 1, 1);

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

$col2="Pilot Name and Signature\n".$name;
$pdf->MultiCell(63, 10, $col2, 1);
$pdf->Ln(0);
$col3="Date Prepared\n".$date;
$pdf->MultiCell(63, 10, $col3, 1);

Ответ 2

Просто добавьте в ответ Дэнни. Мне нравится сохранять ширину каждого столбца, а затем использовать это при выполнении метода SetXY.

Пример:

$x = $this->x;
$y = $this->y;
$push_right = 0;

$this->MultiCell($w = 100,3,"Column\r\nNumber 1",1,'C',1);

$push_right += $w;
$this->SetXY($x + $push_right, $y);

$this->MultiCell($w = 60,3,"Column\r\nNumber 2",1,'C',1);

$push_right += $w;
$this->SetXY($x + $push_right, $y);

$this->MultiCell(0,3,"Column 3\r\nFilling in the Rest",1,'C',1);

Ответ 3

Вы можете использовать функцию SetXY (x, y) для установки курсора в pdf.

          $pdf->SetXY(x,y);

Установите курсор для печати данных в pdf

Где x - значение оси x, а y - значение оси y

Ответ 4

использовать $pdf->Ln(10); с $pdf->cell();

Пример:

$pdf->cell(100,10,"your content");
$pdf->Ln(10);