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

Le dessus 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 corrigée. Est-il impossible d'avoir l'image agir comme le titre du produit et sous-titrer et être poussé vers le bas aussi tout en déclarant la taille?

20
demandé sur Carson 2010-08-12 23:46:22

4 réponses

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

Définissez votre variable:

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

puis cèdre une cellule, la positionner, puis au lieu de définir où est l'image, utilisez la variable que vous avez créée ci-dessus avec ce qui suit:

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

maintenant la cellule se déplace de haut en bas avec le contenu si d'autres cellules autour de lui se déplacent.

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

43
répondu Carson 2010-08-25 18:51:42

Vous pouvez utiliser $pdf->GetX() et $pdf->GetY() pour obtenir de l'actuel cooridnates et de les utiliser pour insérer une image.

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

ou encore

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

9
répondu Mchl 2010-08-12 20:20:21
$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);
4
répondu Rahul Shaddy 2017-02-28 20:56:53

vous ne pouvez pas traiter un PDF comme un document HTML. Les Images ne peuvent pas "flotter" à l'intérieur d'un document et avoir des choses qui circulent autour d'elles, ou qui circulent avec le texte environnant. FPDF vous permet d'intégrer html dans un bloc de texte, mais seulement parce qu'il parse les tags et remplace <i> et <b> et ainsi de suite avec les commandes équivalentes Postscript. Ce n'est pas assez intelligent pour placer dynamiquement une image.

en d'autres termes, vous devez spécifier les coordonnées (et si vous ne le faites pas, les coordonnées de l'emplacement actuel sera utilisé de toute façon).

-1
répondu Marc B 2010-08-12 19:59:42