FPDF выравнивается с изображением и ячейкой

Я пытаюсь сделать следующий макет в файле PDF, созданном FPDF в PHP.

--------------------------------------------------
|                        |       Text1           |
|  IMAGE                 |       Text2           |
|                        |       Text3           | 
--------------------------------------------------

Но я пока не мог понять, как это сделать.

Это код, который я использую

public function floatingImage($imgPath, $height) {

    list($w, $h) = getimagesize($imgPath);
    $ratio = $w / $h;
    $imgWidth = $height * $ratio;
    $this->Image($imgPath, $this->GetX(), $this->GetY(), 140, 100);
    $this->x += $imgWidth;
}

/* Logbuch is our extension from FPDI, but there's nothing changed
 * only a custom header, footer and the floatingImage and loadMapImage function are part of it
 */
$pdf = new logbuch();

// Frontpage
$pdf->AddPage();

$mapImage = $pdf->loadMapImage();
$pdf->setJPEGQuality(75);
$x = 15; $y = 21; $w = 100;
$pdf->floatingImage($mapImage, 100, 100);

$pdf->SetFillColor(154,222,229);
$pdf->Cell(0,0,"Test",0,0,'R',true);
$pdf->Ln();
$pdf->Cell(100,0,"Test",0,0,'R',true);
$pdf->Ln();
$pdf->Cell(100,0,"Test",0,0,'R',true);

Это результат, который я сейчас получаю

результат к настоящему моменту

Если я изменю ширину последних двух ячеек на 100, это будет выглядеть так:

Если для ширины ячейки установлено значение 100

Это почти то, что я хочу, ячейки просто должны быть выровнены по правой стороне. Как я могу это сделать?


person KhorneHoly    schedule 20.08.2015    source источник


Ответы (1)


Я сам нашел ответ

Вы можете установить значение X для pdf, которое определяет положение по оси X.

$pdf->Cell(0,0,"Test",0,0,'R',true);
$pdf->Ln();
$pdf->SetX(100); //The next cell will be set 100 units to the right
$pdf->Cell(100,0,"Test",0,0,'R',true);
$pdf->Ln();

Важно отметить, что после каждой записи ячейке X будет присвоено новое значение из функции Cell(). Так что вам нужно SetX() перед созданием новой ячейки!

person KhorneHoly    schedule 20.08.2015