Вставка изображения с помощью PHP и FPDF - PullRequest
21 голосов
/ 12 августа 2010

Я пытаюсь вставить изображение, но не хочу указывать координаты x и y.Возможно ли это?

$pdf->Image($image1, 5, 70, 33.78);

Я хочу иметь возможность указать размер (33,78), но не х и у, чтобы он двигался в зависимости от содержимого.

$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 вниз и неизбежно под фиксированным изображением.Нет ли способа заставить изображение вести себя как название продукта и подзаголовок, и при этом оно тоже будет выталкиваться вниз, все еще объявляя размер?

Ответы [ 4 ]

50 голосов
/ 25 августа 2010

Я понял это, и это на самом деле довольно просто.

Установите вашу переменную:

$image1 = "img/products/image1.jpg";

Затем создайте ячейку, поместите ее, а не устанавливайте, где находится изображениеиспользуйте переменную, которую вы создали выше, со следующим:

$this->Cell( 40, 40, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false );

Теперь ячейка будет перемещаться вверх и вниз с содержимым, если другие ячейки вокруг нее будут двигаться.лодка.

9 голосов
/ 12 августа 2010

Вы можете использовать $pdf->GetX() и $pdf->GetY() для получения текущих координат и использовать их для вставки изображения.

$pdf->Image($image1, 5, $pdf->GetY(), 33.78);

или даже

$pdf->Image($image1, 5, null, 33.78);

(хотя в первом случае вы можете добавить число, чтобы создать пробел)

$pdf->Image($image1, 5, $pdf->GetY() + 5, 33.78);

5 голосов
/ 28 февраля 2017
$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);
0 голосов
/ 12 августа 2010

Вы не можете рассматривать PDF как HTML-документ. Изображения не могут «плавать» в документе, и вокруг них что-то движется или течет вместе с окружающим текстом. FPDF позволяет встраивать html в текстовый блок, но только потому, что он анализирует теги и заменяет <i> и <b> и т. Д. Эквивалентными командами Postscript. Это не достаточно умный, чтобы динамически разместить изображение.

Другими словами, вы должны указать координаты (а если нет, то координаты текущего местоположения будут использованы в любом случае).

...