Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1096 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fpdf et images

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fpdf et images

n°1332192
Melekitto
Posté le 25-03-2006 à 17:41:30  profilanswer
 

Bonjour à tous. Alors voilà j'ai un fichier pdf à générer à partir d'une base de données.
Ce fichier pdf va contenir des cours illustrés.
J'arrive à obtenir le cours sans problèmes. Le seul souci que j'ai c'est que lorsque je veux insérer les images dedans, elles superposent le texte. Pour précision, toutes les images n'ont pas la même taille donc je les redimensionne.

Code :
  1. <?php
  2. require('fpdf.php');
  3. include ("../php/connect.php" );
  4. include ("../romain.php" );
  5. class PDF extends FPDF
  6. {
  7.   //En-tête  
  8.   function Header()
  9.   {
  10.    $titre = mysql_query("select TITRE_COURS from cours where ID_COURS='1';" );
  11. $titre = mysql_fetch_array($titre);
  12.     //Police Arial gras 15  
  13.     $this->SetFont('Arial','B',18);
  14.     //Décalage à droite  
  15.     $this->Cell(80);
  16. //Couleurs du cadre, du fond et du texte
  17. $this->SetDrawColor(0,80,180);
  18. $this->SetFillColor(255,255,0);
  19.     $this->SetTextColor(220,50,50);
  20.     //Titre  
  21.     $this->Cell(30,10,$titre[0],1,0,'C');
  22.     //Saut de ligne  
  23.     $this->Ln(20);
  24.   }
  25.   //Pied de page  
  26.   function Footer()
  27.   {
  28.     //Positionnement à 1,5 cm du bas  
  29.     $this->SetY(-15);
  30.     //Police Arial italique 8  
  31.     $this->SetFont('Arial','I',8);
  32.     //Numéro de page  
  33.     $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
  34.   }
  35.  
  36.   function TitreChapitre($num,$lib)
  37. {
  38. $this->AddPage();
  39.     //Arial 14
  40.     $this->SetFont('Arial','',14);
  41.     //Couleur de fond
  42.     $this->SetFillColor(200,220,255);
  43.     //Titre
  44.     $this->Cell(0,6,"$num  $lib",0,1,'L',1);
  45.     //Saut de ligne
  46.     $this->Ln(4);
  47. }
  48. function TitrePartie($num,$lib)
  49. {
  50. //Arial 12
  51. $this->SetFont('Arial','',12);
  52. //Couleur de fond
  53. $this->SetFillColor(255,255,0);
  54. //Titre
  55. $this->Cell(0,6,"$num $lib",0,1,'L',1);
  56. //Saut de ligne
  57. $this->Ln(4);
  58. }
  59. }
  60. //Instanciation de la classe dérivée  
  61. $pdf=new PDF();
  62. $pdf->Open();
  63. $pdf->AliasNbPages();
  64. $chap = mysql_query ("select * from chapitre where ID_COURS='1';" );
  65. while ($donneeschap = mysql_fetch_array ($chap))
  66. {
  67. $num = entier_romain($donneeschap["NUM_CHAPITRE"]);
  68. $pdf->SetFont('Arial','U',14);
  69. $pdf->TitreChapitre($num.') ',$donneeschap['NOM_CHAPITRE']);
  70. $part = mysql_query ("select * from parties where ID_CHAPITRE='".$donneeschap['ID_CHAPITRE']."' order by ORDRE_PARTIE ASC;" );
  71. while ($donneespart = mysql_fetch_array ($part))
  72.  {
  73.  $pdf->TitrePartie($donneespart['ORDRE_PARTIE'].') ',$donneespart['TITRE_PARTIE']);
  74.  $para = mysql_query ("select * from paragraphe natural join parties where paragraphe.ID_PARTIE='".$donneespart["ID_PARTIE"]."' order by ORDRE_PARAGRAPHE ASC;" );
  75.  while ($donneespara = mysql_fetch_array($para))
  76.   {
  77.   $pdf->SetFont('Arial','',12);
  78.   if ($donneespara['CONTENU_PARAGRAPHE'] != "" )
  79.    {
  80.    $pdf->MultiCell(0,5,$donneespara['CONTENU_PARAGRAPHE'],0,1);
  81.    $pdf->Ln(4);
  82.    }
  83.   if ($donneespara["ID_IMAGE"] != NULL)
  84.    {
  85.    $img = "select URL from image where ID_IMAGE='".$donneespara["ID_IMAGE"]."';";
  86.    $img = mysql_query($img);
  87.    $img = mysql_fetch_row($img);
  88.    $size = GetImageSize("../".$img[0]);
  89.    $pdf->Image("../".$img[0],50,10,100);
  90.    }
  91.   }
  92.  }
  93. }
  94. $titre = mysql_query("select TITRE_COURS from cours where ID_COURS='1';" );
  95. $titre = mysql_fetch_array($titre);
  96. $pdf->SetTitle($titre[0]);
  97. $pdf->SetAuthor('www.e-informatik.com');
  98. $pdf->Output("../pdf/".$titre[0].".pdf" );
  99. ?>


 
Est-ce que quelqu'un pourrait me mettre sur la voie car ja patauge depuis quelques heures là.
Merci d'avance.

mood
Publicité
Posté le 25-03-2006 à 17:41:30  profilanswer
 

n°1332204
Melekitto
Posté le 25-03-2006 à 18:00:57  profilanswer
 

En fait c'est dans cette partie du code qu'il y a l'affichage d'un paragraphe et de l'image si le paragraphe en contient une.

Code :
  1. while ($donneespara = mysql_fetch_array($para))
  2. {
  3. $pdf->SetFont('Arial','',12);
  4. if ($donneespara['CONTENU_PARAGRAPHE'] != "" )
  5. {
  6. $pdf->MultiCell(0,5,$donneespara['CONTENU_PARAGRAPHE'],0,1);
  7. $pdf->Ln(4);
  8. }           
  9. if ($donneespara["ID_IMAGE"] != NULL)               
  10. {               
  11. $img = "select URL from image where ID_IMAGE='".$donneespara["ID_IMAGE"]."';";               
  12. $img = mysql_query($img);               
  13. $img = mysql_fetch_row($img);               
  14. $size = GetImageSize("../".$img[0]);               
  15. $pdf->Image("../".$img[0],50,10,100);               
  16. }           
  17. }


Message édité par Melekitto le 25-03-2006 à 18:02:15

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fpdf et images

 

Sujets relatifs
charger toutes les images avant d'afficher le site ?XSL et taille des images
Images déroulantes: comment faire[Problème] [mediawiki] Comment uploader beaucoup d'images
[RESOLU] Images ne s'affichent pasfpdf, image et cellule
DSP+compression imagesMeilleur module postnuke pour une galerie d'images ?
scroll vertical ralentit par des imagesLien en forme de bouton avec des images
Plus de sujets relatifs à : fpdf et images


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR