web-dev-qa-db-fra.com

Insertion d'une image avec PHP et FPDF

J'essaie d'insérer une image mais je ne veux pas spécifier les coordonnées x et y. Est-ce possible?

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

Je veux pouvoir spécifier la taille (33,78) mais pas le x et le y pour qu'il se déplace en fonction du contenu.

$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);

Ce qui précède est le code que j'utilise. Si $ reportSubtitle est de deux ou trois lignes, il pousse $ prod1title et $$ prod1sub vers le bas, et inévitablement sous l'image qui est fixe. N'y a-t-il aucun moyen de faire en sorte que l'image agisse comme le titre et le sous-titre du produit et qu'elle soit également enfoncée tout en déclarant la taille?

21
Carson

Je l'ai compris, et c'est en fait assez simple.

Définissez votre variable:

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

Ensuite, créez une cellule, positionnez-la, plutôt que de définir l'emplacement de l'image, utilisez la variable que vous avez créée ci-dessus avec les éléments suivants:

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

Maintenant, la cellule se déplacera de haut en bas avec du contenu si d'autres cellules autour d'elle se déplacent.

J'espère que cela aide les autres dans le même bateau.

50
Carson

Vous pouvez utiliser $pdf->GetX() et $pdf->GetY() pour obtenir les coordonnées actuelles et les utiliser pour insérer l'image.

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

ou même

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

(Bien que dans le premier cas, vous pouvez ajouter un nombre pour créer un peu d'espace)

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

10
Mchl
$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);
5
Rahul Shaddy

Veuillez noter que vous ne devez pas utiliser de png lorsque vous testez cela, commencez par travailler avec jpg.

$myImage = "images/logos/mylogo.jpg";  // this is where you get your Image

$pdf->Image($myImage, 5, $pdf->GetY(), 33.78);
0
Humphrey