Вставка изображения с PHP и FPDF
Я пытаюсь вставить изображение, но не хочу указывать координаты x и y. Возможно ли это?
$pdf->Image($image1, 5, 70, 33.78);
Я хочу иметь возможность указать размер (33.78), но не x и y, чтобы он перемещался в зависимости от содержимого.
$pdf->Write( 70, $reportTitle );
$pdf->Ln( 45 );
$pdf->SetFont( 'Arial', '', 12 );
$pdf->Write( 6, $reportSubtitle );
/**
Create product 1
**/
$pdf->Ln( 10 );
$pdf->SetFont( 'Arial', '', 12 );
$pdf->Write( 6, $prod1title );
$pdf->Ln( 30 );
$pdf->SetFont( 'Arial', '', 10 );
$pdf->Write( 5, $prod1sub );
$pdf->Ln( 30 );
$pdf->Image($image1, 5, 70, 33.78);
Вышеупомянутый код я использую. Если $reportSubtitle - две или три строки, он подталкивает $prod1title и $$ prod1sub вниз и неизбежно под фиксированным изображением. Нет ли способа заставить изображение действовать так, как название продукта и субтитры, и быть нажатым, пока еще объявляете размер?
Ответы
Ответ 1
Я понял это, и это действительно довольно прямо.
Задайте свою переменную:
$image1 = "img/products/image1.jpg";
Затем переместите ячейку, поместите ее, а не устанавливайте, где находится изображение, используйте созданную выше переменную со следующим:
$this->Cell( 40, 40, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false );
Теперь ячейка будет перемещаться вверх и вниз с содержимым, если другие ячейки вокруг нее перемещаются.
Надеюсь, это поможет другим в одной лодке.
Ответ 2
Вы можете использовать $pdf->GetX()
и $pdf->GetY()
, чтобы получить текущие cooridnates и использовать их для вставки изображения.
$pdf->Image($image1, 5, $pdf->GetY(), 33.78);
или даже
$pdf->Image($image1, 5, null, 33.78);
(хотя в первом случае вы можете добавить число, чтобы создать немного пробела)
$pdf->Image($image1, 5, $pdf->GetY() + 5, 33.78);
Ответ 3
$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);
Ответ 4
Вы не можете рассматривать PDF как HTML-документ. Изображения не могут "плавать" внутри документа и обтекать их, или течь окружающим текстом. FPDF позволяет встраивать html в текстовый блок, но только потому, что он анализирует теги и заменяет <i>
и <b>
и т.д. Эквивалентными командами Postscript. Это не достаточно умно, чтобы динамически разместить изображение.
Другими словами, вы должны указать координаты (и если вы этого не сделаете, текущие координаты местоположения будут использоваться в любом случае).