VOS DONNÉES SOUS FORMAT PDF

pithanta Messages postés 5 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 6 octobre 2005 - 5 oct. 2005 à 08:12
cs_ach1991raf Messages postés 1 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 10 octobre 2012 - 10 oct. 2012 à 23:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34083-vos-donnees-sous-format-pdf

cs_ach1991raf Messages postés 1 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 10 octobre 2012
10 oct. 2012 à 23:38
merciiiiiiiii pour le code :)
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
3 août 2012 à 15:48
Bonjour ADIKA0123, tu peux faire comme ça

class PDF extends FPDF
{

//En-tête
function Header()
{
//Logo
$this->Image('images/VotreImage.gif',10,8,33);
//Saut de ligne
$this->Ln(1);
//Police Arial gras 15
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(1);
//Titre
$this->Cell(197,10,'Nom du document si tu veux',1,0,'C');
//Saut de ligne
$this->Ln(5);
$this->SetFont('','B',10);
$this->ExportHeader();
}

//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-20);
//$this->SetY(-50);
//$this->Cell(75,6,'Signature');
//$this->Ln(5);
//$this->ExportSignateur();
//Police Arial italique 8
//$this->Ln(25);
$this->SetFont('Arial','I',7);
//Explication 1
$this->Cell(0,10,'¹ : TYPE : (Type1, Type2, Type3, Type4, ...).',0,0,'L');
//Saut de ligne
$this->Ln(4);
//Explication 2
$this->Cell(0,10,'² : Etat : (*=Etat1, **=Etat2). ',0,0,'L');
//Saut de ligne
$this->Ln(5);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'R');
}


Et en bas :

//Creation pdf
$pdf=new PDF('P');

//Tableau
$pdf->SetFont('Arial','',7);
$pdf->SetMargins(5,20);
$pdf->AliasNbPages();
$pdf->AddPage();
//
//Affichage des données
//
$pdf->ExportTableau($data);

$pdf->ln(5);
//$pdf->SetY(-60);
$pdf->SetFont('Arial','B',12);
$pdf->Cell(75,6,'Signature');

$pdf->Output('Nom_du_fichier_'.date("Y_m_d").'.pdf','I');
cs_rottweiler Messages postés 117 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 octobre 2013
30 juil. 2012 à 09:24
il me tarde de le tester
adika0123 Messages postés 9 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 16 mars 2017
29 juil. 2012 à 17:01
bonjour tout le monde
comment ajouter un titre (tete page) personnalisé avec du texte et photo avec ce code

merci d avance
cs_naimanina Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 22 juin 2011
22 juin 2011 à 16:58
De rien j'espère que j'ai répondu a votre question ^_^
bonne chance
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
22 juin 2011 à 16:42
merci pour votre réponse
cs_naimanina Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 22 juin 2011
22 juin 2011 à 15:42
slt les amis(es),
un probleme d'impression des pdf
j'ai une base de données Mysql et je veux lorsque je sélectionne une table a partir d'un combo je clique sur un bouton imprimer pour imprimer la table sous format pdf
j ai déja fait l'affichage des tables sous format pdf a partir de la base de données il me faux maintenant l'imprimer
Merciiiii d'avance :)
cs_naimanina Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 22 juin 2011
22 juin 2011 à 15:38
Slt
pour moi je travail avec la Version : 1.53
et je pense pas qu'il y a une différence entre les différents versions
cs_naimanina Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 22 juin 2011
21 juin 2011 à 18:47
ok merciii younes371 c très gentil de ta part
je vais tester cet exemple ^_^
Mercii une autre fois de m'avoir répondu a ma question :)
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
20 juin 2011 à 13:28
Bonjour naimanina,

tu peux appliquer ce code sur n'importe quel nombre des champs, c'est à toi de creer la requette SELECT et tu peux avoir le resultat de toutes les tables que tu as. Puis tu dois declarer au niveau de FPDF le nombre des champs a affichés :
Exemple :
function ExportHeader()
{
//Titres des colonnes
$header=array('Champ 1 ','Champ 2','Champ 3',''Champ 4','Champ 5','Champ 6',''Champ 7','Champ 8');
$w=array(15,20,12,20,14,19,10,87);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],10,$header[$i],1,0,'L',1);

$this->Ln();
}
/Requette SELECT : $result
$data = array();
while($row = mysql_fetch_array($result))
{
array($row);
$data[]=$row;

}
A votre disposition
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
20 juin 2011 à 10:16
Quelle version de la classe FPDF a-t-on utilisé ici ?
begueradj
cs_naimanina Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 22 juin 2011
12 mai 2011 à 11:41
Bonjour les amis ,
c la premiere fois que je participe a ce site ,il est vraiment utile :)
Ca marche ce code super bien juste pour une seule table qui a 3 champ mé le problem c que je veux que ce code applique sur tt les table des ma base de données avec n'import qu'elle nombre de champs
Mercii
cs_mohamed2011 Messages postés 1 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 24 mars 2011
24 mars 2011 à 13:03
salut, j'ai au fin d'étude informatique et mon thème et gestion de prêt d'un bibliothèque je souhaite voir le source avec delphi 7
oliv2223 Messages postés 2 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 septembre 2010
22 sept. 2010 à 23:06
Bonjour,
Ca marche super bien sur firefox mais pas sur ie 6.....si quelqu'un a une soluce ca m'interesse .
Merci
aymanovbest Messages postés 4 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 28 mars 2010
28 mars 2010 à 10:27
pour cette erreur il faux mettre le contenu output c adire
$pdf->Output("aymanov.pdf","F");
aymanovbest Messages postés 4 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 28 mars 2010
20 mars 2010 à 22:48
salut les amis
je sais pour ce code j'ai toujour ce probléme
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\tav_nbe11\chercher2.php:2) in C:\wamp\www\tav_nbe11\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
merci de m'aider
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
28 oct. 2009 à 14:10
Bonjour,

J'ai pu trouvé la solution. Ainsi,je vous transmet un code qui peut faire :

Affiche du logo en entête, plus un titre en entête, plus des informations dynamique en entête et l'entête du tableau qui va contenir le resultat,

Puis (en corps de la page) le resultat à partir de la bse de données (dynamique).

Au pied de page on affiche un tableau pour lasignateure des differents acteurs et aussi le numero de page courant :
<?php
session_start();
// On se connecte à la base
include("cnx.php");
require('fpdf16/fpdf.php');

ob_end_clean();

class PDF extends FPDF
{

//En-tête
function Header()
{
//Logo
$this->Image('images/logo.gif',10,8,33);
//Saut de ligne
$this->Ln(1);
//Police Arial gras 15
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(1);
//Titre
$this->Cell(197,10,'Fiche',1,0,'C');
//Saut de ligne
$this->Ln(5);
$this->SetFont('','B',10);
$this->ExportHeader();
}

//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'R');
}


function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $indent=0)
{
//Output text with automatic or explicit line breaks
$cw=&$this->CurrentFont['cw'];
if($w==0)
$w=$this->w-$this->rMargin-$this->x;

$wFirst = $w-$indent;
$wOther = $w;

$wmaxFirst=($wFirst-2*$this->cMargin)*1000/$this->FontSize;
$wmaxOther=($wOther-2*$this->cMargin)*1000/$this->FontSize;

$s=str_replace("\r",'',$txt);
$nb=strlen($s);
if($nb>0 && $s[$nb-1]=="\n")
$nb--;
$b=0;
if($border)
{
if($border==1)
{
$border='LTRB';
$b='LRT';
$b2='LR';
}
else
{
$b2='';
if(is_int(strpos($border,'L')))
$b2.='L';
if(is_int(strpos($border,'R')))
$b2.='R';
$b=is_int(strpos($border,'T')) ? $b2.'T' : $b2;
}
}
$sep=-1;
$i=0;
$j=0;
$l=0;
$ns=0;
$nl=1;
$first=true;
while($i<$nb)
{
//Get next character
$c=$s[$i];
if($c=="\n")
{
//Explicit line break
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$i++;
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border && $nl==2)
$b=$b2;
continue;
}
if($c==' ')
{
$sep=$i;
$ls=$l;
$ns++;
}
$l+=$cw[$c];

if ($first)
{
$wmax = $wmaxFirst;
$w = $wFirst;
}
else
{
$wmax = $wmaxOther;
$w = $wOther;
}

if($l>$wmax)
{
//Automatic line break
if($sep==-1)
{
if($i==$j)
$i++;
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$SaveX = $this->x;
if ($first && $indent>0)
{
$this->SetX($this->x + $indent);
$first=false;
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$this->SetX($SaveX);
}
else
{
if($align=='J')
{
$this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
$this->_out(sprintf('%.3f Tw',$this->ws*$this->k));
}
$SaveX = $this->x;
if ($first && $indent>0)
{
$this->SetX($this->x + $indent);
$first=false;
}
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
$this->SetX($SaveX);
$i=$sep+1;
}
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border && $nl==2)
$b=$b2;
}
else
$i++;
}
//Last chunk
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
if($border && is_int(strpos($border,'B')))
$b.='B';
$this->Cell($w,$h,substr($s,$j,$i),$b,2,$align,$fill);
$this->x=$this->lMargin;
}//End function Multicell
//Tableau coloré
function ExportTableau($data)
{



//Restauration des couleurs et de la police
$this->SetFillColor(224,230,255); //couleur du fond des cases
$this->SetTextColor(0); //couleur du texte des cases
$this->SetFont('');

$w=array(15,20,20,20,20,15,87);
//Données
$fill=false;
foreach($data as $row)
{

$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
$this->Cell($w[2],6,$row[2],'LR',0,'C',$fill);
$this->Cell($w[3],6,$row[3],'LR',0,'C',$fill);
$this->Cell($w[4],6,$row[4],'LR',0,'C',$fill);
$this->Cell($w[5],6,$row[5],'LR',0,'C',$fill);
$this->Cell($w[6],6,$row[6],'LR',0,'L',$fill);

//$this->Cell($w[7],6,$row[7],'LR',0,'L',$fill);

$this->Ln(6);

$fill=!$fill;
}//foreach

$this->Cell(array_sum($w),0,'','T');
}


//Tableau coloré

function ExportHeader()
{

$chef_departement=$_SESSION['chef_departement'];

//Couleurs, épaisseur du trait et police grasse

$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes

$this->SetFont('','B');

$this->SetXY(5,40);
//En-tête du tableau


$this->Cell(75,6,'Info 1 :');
$this->Cell(200,6,' : info 1');
$this->Ln();
$this->Cell(75,6,'Info 2 :');
$this->Cell(200,6,' : info 2');
$this->Ln();
$this->Cell(75,6,'chefs departement :');
$this->Cell(200,6,' : '.$chef_departement);
$this->Ln();
$this->Cell(75,6,'Info 4 :');
$this->Ln();
$this->SetFont('Arial','',8);
//Plusieurs lignes
$this->MultiCell(0,5,'Info 4 peut être sur plusieurs lignes',1,'J',0,0);

$this->Ln(15);
$this->SetFont('Arial','B',12);
$this->Cell(75,6,'Liste des Clients');
$this->SetFont('Arial','B',8);
$this->Ln(6);

//En-tête du tableau
$this->SetFillColor(150,180,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

//Titres des colonnes
$header=array('Nom','Prenom','Ville','Adresse');
$w=array(15,20,20,20,20,15,87);

for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],10,$header[$i],1,0,'L',1);

$this->Ln();
}

function ExportSignateur()
{

//Titres des colonnes
$signateur=array('Chef departement','Directeur','Secrétaire','PDG');


$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

$w=array(49,49,49,49);

$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

for($i=0;$i<count($signateur);$i++)
$this->Cell($w[$i],10,$signateur[$i],1,0,'C',1);
$this->Ln(10);
for($i=0;$i<count($signateur);$i++)
$this->Cell($w[$i],20,' ',1,0,'C',1);


$this->Ln(5);
}


}


//Identifiant du projet
$id=$_GET['id'];


//Requete SQL : Informatiosn sur les objets
$query = 'SELECT nom,prenom,code_ville,adresse FROM clients WHERE code_departement="'.$id.'" ';
$result = mysql_query($query) or die ('Erreur SQL !
' . $query . '
' . mysql_error());

//Boucle sur les resultats
$data = array();
while($row = mysql_fetch_array($result))
{
array($row);


//La selection de l'adresse du client
$code_ville=$row['2'];
$req_ville=mysql_query("SELECT intitule_adresse FROM adresse where code_adresse='".$code_ville."'") or die (mysql_error());
if(mysql_num_rows($req_ville)>0) $row['2']=mysql_result($req_ville,0,"intitule_adresse");

//L'adresse du client
//Affichage des 110 premiers caracteres de l'adresse si la longueur depasse 110 caracteres
if(strlen($row['3'])>110)
$row['3']=stripslashes(substr($row['6'],0,110).'..>');

$data[]=$row;

}

//Requette SQL Information sur les chefs
//Chef departement
$chef_departement= '';
$req_pa=mysql_query("SELECT nom,prenom FROM acteur WHERE code_departement='".$id."' ")or die(mysql_error());
if(mysql_num_rows($req_pa)>0)
{
$nb=0;
//Possiblité d'avoir plusieurs chefs
while ($array = mysql_fetch_array($req_pa))
{
$nom_=$array["nom"];
$prenom_=$array["prenom"];
$chef_departement .= $nom_." ".$prenom_." / ";
}
}
else
{
$resultat_cp .="**** Aucun Chef n'est encore affecté à ce departement ****";
}


$_SESSION['chef_departement']=$chef_departement;


//Creation pdf
$pdf=new PDF('P');

//Tableau
$pdf->SetFont('Arial','',8);
$pdf->SetMargins(5,20);
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->ExportTableau($data);
$pdf->ln(20);
$pdf->SetY(-60);
$pdf->SetFont('Arial','B',12);
$pdf->Cell(75,6,'Signature');
$pdf->ln(6);
$pdf->SetFont('Arial','B',8);
$pdf->ExportSignateur();
$pdf->Output('Fiche_'.$id.'_'.date("Y_m_d").'.pdf','I');

?>
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
22 oct. 2009 à 18:05
Bonjour,

je vous remercie pour votre code :

LE code ça marche pour moi très bien, mais j'au un seul souci, je veux ajouter En-tête, pied de page (Header et Footer) mais le resultat n'est pas ce que je souhaite; j'ai fais comme celà :

<?php
require('fpdf16/fpdf.php');
// On se connecte à la base
include("cnx/cnx.php");
$id=$_GET['id'];
class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
$this->Image('images/gipsi_3.gif',10,8,33);
//$this->Cell(40,10,'Hello World !');
//Police Arial gras 15
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(80);
//Titre
$this->Cell(80,10,'Fiche de mise en exploitation',1,0,'C');
//Saut de ligne
$this->Ln(20);
}

//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

//Fichier pdf en format A4
$pdf=new PDF('P','cm','A4');



//Instanciation de la classe dérivée
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','B',8);
$pdf->SetFillColor(96,96,96);
$pdf->SetTextColor(255,255,255);


//La selection des objets du projets demande
$req_list_obj='SELECT nom FROM personne WHERE ville="'.$id.'" ) order by nom_objet ';
$resultat=mysql_query($req_list_obj)or die (mysql_error());

$pdf->SetXY(1,1);

//En-tête du tableau
$w=array(2,2,2,2,2,2,7);

//Titres des colonnes
$header=array('Nom');
/*for($i=0;$i<sizeof($header);$i++)
$pdf->cell(2,1,$header[$i],1,0,'C',1);*/

$pdf->cell( $w[0],1,$header[0],1,0,'C',1);



$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;

while($row=mysql_fetch_array($resultat))
{


//Remplissage des cellule du tableau
$pdf->cell($w[0],1,$row['nom'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+1);
$fond=!$fond;
}
$pdf->output('Fiche'.$id.'_'.date("Y_m_d").'.pdf','I');



?>



Merci pour votre aide
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
15 août 2009 à 13:05
Eh ben Super.
cs_javalang Messages postés 18 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 15 août 2009
15 août 2009 à 01:01
C'est trouvé!
je pointais le mauvais fichier.
j'ai pu générer le pdf.
Merci.
cs_javalang Messages postés 18 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 15 août 2009
14 août 2009 à 23:07
Tout de suite, "fpdf.php" est à la base avec "index.php" et "amiwestpres_remix.pdf".
"pagePrint.php" est accéder par un 'case' de "index.php?action=pagePrint"
J'ai mis le code suivant dans "includes/pagePrint.php",
mais le code renvoie un message "FPDF error: Some data has already been output, can't send PDF file"

<?php

require('fpdf.php');

// mode paysage, a4, etc.

$pdf=new FPDF('L','mm','A4');
$pdf->Open();

// champs facultatifs

$pdf->SetAuthor('Hyperion - Ben Hermans');
$pdf->SetCreator('CygnusEd 4.21 & Fpdf');
$pdf->SetTitle('Amiwest AmigaOS 4 Presentation');
$pdf->SetSubject('Remix by bIgdAn');

// on charge les 83 gfx...

$pdf->SetMargins(0,0);
for ($i=1; $i<84; $i++) {
$pdf->AddPage();
//$pdf->Image('Diapositive'.$i.'.JPG',0,0,297,210,'JPEG');
}

// Et on affiche le pdf généré... (ou on le sauvegarde en local)
// $pdf->Output(); pour afficher sur votre navigateur

$pdf->Output('amiwestpres_remix.pdf');

?>
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
14 août 2009 à 22:26
Voici ce que j'ai pu trouver pour toi sur le net :
http://obligement.free.fr/articles/fpdf.php
http://www.phpcs.com/forum/sujet-COMMENT-INSTALLER-FPDF_526992.aspx

Des fois il y a une erreur sur font (ce que j'ai trouvé dans les forums), tu pourras te balader dessus et trouver des réponses ...

J'espère que ça pourra te servir, bon courage.
cs_javalang Messages postés 18 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 15 août 2009
14 août 2009 à 22:00
Merci, je vais continuer à me casser la tête.
Merci pour ton exemple.
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
14 août 2009 à 21:50
Salut Javalang,
je ne me rappelle pas vraiment ou j'ai mis le répertoire de FPDF, je crois que tu peux le mettre au même niveau que mondossier, càd sous www et il suffit juste de bien donner le bon chemin.
Sinon pour un guide pas à pas, tu pourras voir sur leur site d'ou tu as téléchargé FPDF ou bien une petite recherche sur le net tu permettras de trouver tout ce que tu veux.
Bon courage.
cs_javalang Messages postés 18 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 15 août 2009
14 août 2009 à 04:13
salut, EMSIEN!
p'tètre que ça paraît bête!
Je veux commencer avec FPDF.
J'ai lu sur www.fpdf.org
J'ai téléchargé le dossier dans EasyPhp 3.0/www/mondossier où se trouve mon index.php.
J'ai essayé ton code. RIEN-RIEN-RIEN
Je ne sais pas où mettre le fichier, comment paramétrer.
Je sollicite un guide pas-à-pas.
Merci.
gaetan59242 Messages postés 1 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 3 juin 2009
3 juin 2009 à 15:16
Bonjour à tous !!!!
Voila j'ai tester le code le code et je l'ai lis dans une page pour qu'un bouton envoyer générer le code jusque là pas de souci.
Avec Wamp il me dit :
Parse error: parse error in C:\wamp\www\base propre\import_pdf_classes.html on line 28

Voici le code de ma page
<html>

<head>
<link href="index.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="verif_formulaire.js"></script>

</head>

Importation de classes en pdf ...

<form method="POST" action="" name="formulaire">

Classe : <select size="1" name="classe">
<option selected></option>
<option>CM2</option>
<option>CM1</option>
<option>CE2</option>
<option>CE1</option>
<option>CP</option>
<option>Mat. grands</option>
<option>Mat. moyens</option>
<option>Mat. petits</option>
</select>



<?php
*//C'est ici la ligne 28 là je ne comprend pas pourquoi?
* require('fpdf.php');
*
* $pdf=new FPDF('P','cm','A4');
*
* //Titres des colonnes
* $header=array('Nom','Prenom','');
*
* $pdf->SetFont('Arial','B',14);
* $pdf->AddPage();
* $pdf->SetFillColor(96,96,96);
* $pdf->SetTextColor(255,255,255);
* mysql_connect('localhost','root','') or die("ERROR DATABASE CONNECTION");
* mysql_select_db('cantine') or die("DATA SELECTION ERRROR");
* $query="select * cantine_rens_gen";
if (isset($_GET['gestion des élèves'])){
$classe=$_GET['gestion des élèves'];
}
else
{
$classe="CM2";
}

echo '<form action="" method="POST">';
$query ="SELECT nom,prenom FROM cantine_rens_gen WHERE classes='$classe'";
$result = mysql_query($query) or die ("query failed");

* $resultat=mysql_query($query);
*
* $pdf->SetXY(3,3);
* for($i=0;$i<sizeof($header);$i++)
* $pdf->cell(5,1,$header[$i],1,0,'C',1)
*
* $pdf->SetFillColor(0xdd,0xdd,0xdd);
* $pdf->SetTextColor(0,0,0);
* $pdf->SetFont('Arial','',10);
* $pdf->SetXY(3,$pdf->GetY()+1);
* $fond=0;
* while($row=mysql_fetch_array($resultat))
* {
* $pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);
* $pdf->cell(5,0.7,$row['prenom'],1,0,'C',$fond);
* $pdf->SetXY(3,$pdf->GetY()+0.7);
* $fond=!$fond;
* }
* $pdf->output();
* ?>
</form>

</html>

Merci de m'aider.
cs_rottweiler Messages postés 117 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 octobre 2013
27 mars 2009 à 17:23
Fonctionne parfaitement, bravo ! Tu m’as réconcilié avec FPDF
godhead2 Messages postés 1 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 8 novembre 2008
8 nov. 2008 à 11:34
10/10 : Ca fonctionne tout seul !!
Utilisateur anonyme
31 juil. 2008 à 08:52
Merci pour cette demo et ce script, je m'en suis inspiré pour mon générateur de devis ;)
assenaff Messages postés 1 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 30 juin 2008
30 juin 2008 à 14:52
Bonjour.
en ce qui concerne le probleme de NS_DEUX,
tu dois remettre la ligne "require(fpdf.php);"dans ton code.et ensuite tu supprimes toutes les balises html.(comme <html></html>).
Il ne doit rester que <?php et ?>.
Au revoir.
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
4 avril 2008 à 01:04
diego29 ==> Voilà regarde par ici :
http://www.fpdf.org/fr/tutorial/tuto4.htm (source)
http://www.fpdf.org/fr/tutorial/tuto4.php (exécution)
Bon courage.
Agredel Messages postés 9 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 3 avril 2008
3 avril 2008 à 16:33
Bonjour, j'aurai 2 questions.

1 Peut-on insérer ce script comportant des donnée issues d'un base de donnée et disposée nom pas sous forme de tableau mais sous forme de colonne (comme les articles de presse)?

2 Comment la position des entetes de colonne du tableau sont-elles reconnus. (probleme de chevauchement dans les nom des en-tetes de colonne)?

Merci pour ta réponse

Cordialement
cs_diego29 Messages postés 22 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 17 octobre 2007
13 juin 2007 à 10:54
Bonjour,

j'ai essayé ce code à l'identique en le nommant gen_pdf.php j'obtient l'erreur suivante :

Warning: Cannot modify header information - headers already sent by (output started at H:\serveur web\ZMWS\_web.zmwsc\conference\gen_pdf.php:11) in H:\serveur web\ZMWS\_web.zmwsc\conference\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file.

une idée sur la résolution de ce problème ?
merci
ns_deux Messages postés 10 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 29 août 2006 1
26 avril 2007 à 07:10
voilà le message si je retire le fpdf.php

Warning: main(fpdf.php) [function.main]: failed to open stream: No such file or directory in c:\wamp\www\recherche_resultat_impression.php on line 5

Fatal error: main() [function.require]: Failed opening required 'fpdf.php' (include_path='.;C:\php5\pear') in c:\wamp\www\recherche_resultat_impression.php on line 5
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
25 avril 2007 à 22:46
à mon avis tu envoies quelque chose avant d'envoyer ce qui est générer en PDF, je pense qu'il s'agit de tA PAGE fond.php essaie de l'enlever pour voir si de ça vient le problème.

Bonne chance.
ns_deux Messages postés 10 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 29 août 2006 1
25 avril 2007 à 22:38
Bonjour à tous,
Voilà j'essais d'afficher dans un tableau PDF avec FPDF le resultat d'une requete de recherche mais j'ai le messages d'erreur : FPDF error: Some data has already been output, can't send PDF file.

ma requete est bonne. Je vous passe mon code
Code :

<?php define('FPDF_FONTPATH','font/'); include("fond.php"); require("connect_atelier.php"); require('fpdf.php'); $req=$_POST['passage_req']; $pdf=new FPDF('P','cm','A4'); //Titres des colonnes $header=array('Nb','Winpark','Matériel','Modèle','Numéro','Unité','Utilisation','Nom CSAV'); $pdf->SetFont('Arial','B',14); $pdf->AddPage(); $pdf->SetFillColor(96,96,96); $pdf->SetTextColor(255,255,255); $resultat=mysql_query(stripslashes($req),$connect)or die ('

<center>La reponse ne contient aucun enregistrement

ou

une erreur est survenue qui est : '.mysql_error().'</center>' ); $pdf->SetXY(3,3); for($i=0;$i<sizeof($header);$i++) $pdf->cell(5,1,$header[$i],1,0,'C',1); $pdf->SetFillColor(0xdd,0xdd,0xdd); $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',10); $pdf->SetXY(8,$pdf->GetY()+1); $fond=0; $j=1; while($row=mysql_fetch_array($resultat)) { $pdf->cell(5,0.7,$j,1,0,'C',$fond); $j=$j+1; $pdf->cell(5,0.7,$row['winpark'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['materiel'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['modele'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['numero'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['unite'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['utilisation'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['nom_csav'],1,0,'C',$fond); $pdf->SetXY(3,$pdf->GetY()+0.7); $fond=!$fond; } $pdf->output(); ?>

Si qq'un peut m'aider
Merci d'avance
yanchasp Messages postés 1 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 28 septembre 2006
28 sept. 2006 à 16:38
Salut,
voila je l'avais deja mis cette classe, pour la lecture de bdd, ca se passe bien a part une chose, les espaces.
Si dans ma bdd, j'ai "208 route dici" --> quand je lis dans le pdf il me saute le texte apres le premier espace --> "208" et plus rien.

Est ce que quelqu'un aurait la solution s'il vous plait merci ;-)
gaelgerard Messages postés 2 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 6 juillet 2006
6 juil. 2006 à 12:12
Evidemment les <quote> et </quote> sont là pour faire joli et à ne pas mettre dans vos pages.
Y a pas une fonction de ce type dans le forum ?
gaelgerard Messages postés 2 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 6 juillet 2006
6 juil. 2006 à 12:10
Super code merci beaucoup.
Je cherche moi la possibilité de créer à la volée depuis un formulaire. Je pense que la je suis sur la bonne voie.
Pour Cyril, autre méthode que créer une copie de la librairie dans tous les dossiers, tu peux également l'appeler depuis ta page. Cf si elle se trouve dans un dossier patent tu fais <quote> require('dossier/fpdf.php'); </quote> au lieu de <quote> require('fpdf.php');
</quote>
Bonne journée à tout le monde
lotfikecir Messages postés 2 Date d'inscription dimanche 25 juin 2006 Statut Membre Dernière intervention 5 novembre 2006
25 juin 2006 à 17:35
salut les amis, je n'arrive pas à récuperer mes fichiers PDF dans les base de données MySQL?
cs_cacoucatatonique Messages postés 164 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 7 octobre 2009
31 mai 2006 à 08:13
salut
pour la librairie FPDF il faut le mettre dans chaque sous dossier ou tu va l'utiliser, il faut obligatoirement que la page qui va te generer ta page pdf soir exclusivement dedier au pdf, pas de print pas d'echos pas dimage sauf avec les commande du FPDF.
parcontre montre nous tton bout de code qui va generer ton pdf pour que lon puisse savoir ou est ton bleme.
a+
cyril
meibi55 Messages postés 12 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 31 mai 2006
31 mai 2006 à 07:58
Bonjour,

Merci pour votre Code-Source, lorsque que j'ajoute ce bout de code dans ma page ce message d'erreur vient lors de l'execution :

-----------------------------------------erreur--------------------------------------

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\inetpub\wwwroot\N_consecutifs\utilisateur\attr_auto.php3 on line 151

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\N_consecutifs\utilisateur\attr_auto.php3:151) in c:\inetpub\wwwroot\N_consecutifs\utilisateur\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
------------------------------------------------------------------------------------

Je connais très mal la fonction PDF dans PHP donc j'ai aucune idée de quoi cela peut venir, et pour la librairie FPDF je suis pas sur de l'avoir installé correctement, j'ai juste décompresser les fichiers downloader sur le site officiel, dans le même dossier ou se trouve ma page dans laquelle j'ai besoin de générer un PDF.

Je me demandais en fait si on doit vraiment ajouter ce bout de code dans notre page, ou si il faut plutot créer une page indépendente nommée par exemple "pdf.php" et ensuite l'appeler depuis l'autre page mais la je savais pas comment transmettre les valeur des variables... enfin j'aurai besoin de quelques infos parce que je nage un peu en eaux troubles la...


D'avance merci beaucoup !

Loïc
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
5 mars 2006 à 14:55
Salut LILA,
Peut être que ça marche pas chez toi parce qu'il ya un problème sur le résultat de ta requête.

Pour l'explication de la ligne: $pdf->SetXY(3,$pdf->GetY()+0.7);
elle permet de positionner le curseurà la colonne 3 (pour l'aligner avec le début du Tableau et il prends la valeur ou on se trouve sur les lignes(GetY();) puisque les lignes s'incrémente et enfin concernant le 0.7 c'est la hauteur d'une Cellule du Tableau ($pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);).
J'espère que j'ai pu répondre à ta question comme il le faut,sinon tu pourra toujours me contacter par mail pour parler d'avantage sur la chose.
Cordialement Mehdi.
http://ntic.blogspirit.com
cs_lilab Messages postés 7 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 11 avril 2006
4 mars 2006 à 11:26
salut tres sympa ton code je lai tester mais j'ai un petit soucis le pdf est généré par contre il ne maffiche que le libellé des colonnes mais pa le resultat e la requete jaimerais aussi savoir comment interpréter cette ligne de code"$pdf->SetXY(3,$pdf->GetY()+0.7); "
cs_lilab Messages postés 7 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 11 avril 2006
4 mars 2006 à 11:10
salut
jai tester ton code il est vraiment pa mal et tres comprehensible, par contre j'ai un petit soucis; lorsque le pdf est généré il ne maffiche que le libéllé de chaque colonne mais pas les données de la requete et aussi jaimerais savoir comment interpréter cette ligne de code "$pdf->SetXY(3,$pdf->GetY()+0.7); "
merco
statopulos01 Messages postés 18 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 1 août 2007
28 févr. 2006 à 02:37
Merci pour ton code c'est très sympa de ta part EMSIEN, c'est pile ce que je cherchais comme base :)
doudio Messages postés 2 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 3 janvier 2006
3 janv. 2006 à 22:16
ton code est pas mal joli 8/10
ouadou44 Messages postés 3 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 25 octobre 2005
28 oct. 2005 à 02:24
salut
j'ai bien tester ton code, il est super super, il m'a donnée une nouvelle idée sur les possibilité de PHP.
la librairie FPDF v 1.53 est disponible avec un Manuel de référence, un FAQ et un tutorial+(Doc, Historique).
j'ai un peut tester la procedure c'est tout a fait pratiquable, Mais c'est purement Orienté Objet.
il suffit de maitriser les méthode de la class FPDF et de les appeler corectement.
il y'a deux superbe méthode :"Fouther" et "Header" pour haut et pied de page(nbr page,titre...tous ça au tutoriel).

Merci.
Merci également pour ton code simple et clair.
ouadou44@hotmail.com
pithanta Messages postés 5 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 07:52
pour donner des réponses comme inutil de passer par le forum
cs_cacoucatatonique Messages postés 164 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 7 octobre 2009
5 oct. 2005 à 13:52
moi j'ai un autre probleme, quant je lui demande d'afficher deux mots lui il m'affiche n'importe quoi!!!
comment faire?
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
5 oct. 2005 à 13:22
Pratique...
8/10
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 oct. 2005 à 09:33
Cherche sur php.net...
pithanta Messages postés 5 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 6 octobre 2005
5 oct. 2005 à 09:20
pour l'instant je travail en local
sous wamp et mysql
ou puis je trouver d'autre librairie
pit
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 oct. 2005 à 08:56
Un tour sur google...et on tombe direct sur :
http://www.fpdf.org/

;-)
Puisque tu es débutant, précisons que cette librairie n'étant pas incluse dans le package de base de php, il y a peu de chance que ton hébergeur la possède, si tu es en mutualisé. (sinon, tout peut s'arranger)
pithanta Messages postés 5 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 6 octobre 2005
5 oct. 2005 à 08:12
bonjour,

je debute evidemment mais ma question somme toute logique, ou trouve t on la librairie fpdf
merci
Pit
Rejoignez-nous