Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2007, 17h18   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
Par défaut [FPDF] Impossible de générer mon PDF PHP

Bonjour,

J'ai un problème assez urgent et je ne vois pas comment le résoudre.

J'ai fais un formulaire avec une boutique et au final, cela génère un PDF grâce à fpdf.

Mais j'ai un gros souci, cela ne veut pas marcher avec IE6, alors que cela marche avec Safari, firefox & IE7. Voici le message d'erreur:



Je met aussi le code de la page que j'ai faite. Il est un peu long et pas toujours ordonné, mais bon:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
 
<?php
 
session_start();
 
$qTotal = $_SESSION['qTotal'];
$totalRegler = $_SESSION['totalRegler'];
 
require('fpdf/fpdf.php');
 
if($qTotal == 0) {
	$retour = header("location:boutique.php");
}
 
$numero = $_GET['n'];
$txtCoordonnees = "coordonnees/".$numero.".txt";
$txtCommande = "commande/".$numero.".txt";
 
class PDF extends FPDF
{
//En-tête
function Header()
{
    //Logo
    $this->Image('images/pdf/haut.jpg',0,0,210);
    //Police Arial gras 15
    $this->SetFont('Arial','B',12);
    //Décalage à droite
    $this->Cell(80);
    //Titre
    $this->Ln(60);
}
 
//Chargement des données
function LoadData($file)
{
    //Lecture des lignes du fichier
    $lines=file($file);
    $data=array();
    foreach($lines as $line)
        $data[]=explode(';',chop($line));
    return $data;
}
 
// coordonnees du client ------------------------------------------------------------------ //
 
//Tableau simple
function tableCoordonnees($coordonnees)
{
 
	//Couleurs, épaisseur du trait et police grasse
    $this->SetFillColor(255,0,0);
    $this->SetTextColor(115,0,39);
    $this->SetDrawColor(255,255,255);
    $this->SetLineWidth(.0);
    $this->SetFont('','B');
 
    //Largeurs des colonnes
    $w=array(55,10,120);
    //Restauration des couleurs et de la police
    $this->SetFillColor(255);
    $this->SetTextColor(0);
    $this->SetFont('');
    //Données
    $fill=0;
    foreach($coordonnees as $row)
    {
        $this->Cell($w[0],6,$row[0],'LR',0,'R',$fill);
        $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
		$this->Cell($w[1],6,$row[2],'LR',0,'L',$fill);
        $this->Ln();
		$fill=!$fill;
	}
    $this->Cell(array_sum($w),0,'','T');
	$this->Ln(10);
}
 
 
// Tableau de la commande ----------------------------------------------------------------- //
 
//Tableau simple
function tableCommande($header,$commande)
{
 
	//Couleurs, épaisseur du trait et police grasse
    $this->SetFillColor(255,0,0);
    $this->SetTextColor(115,0,39);
    $this->SetDrawColor(255,255,255);
    $this->SetLineWidth(.0);
    $this->SetFont('','B');
 
    //Largeurs des colonnes
    $w=array(85,20,35,20,0);
    //En-tête
    for($i=0;$i<count($header);$i++)
        $this->Cell($w[$i],7,$header[$i],1,0,'C');
    $this->Ln();
    //Restauration des couleurs et de la police
    $this->SetFillColor(235,235,235);
    $this->SetTextColor(0);
    $this->SetFont('');
    //Données
    $fill=0;
    foreach($commande 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,'R',$fill);
        $this->Ln();
		$fill=!$fill;
	}
    $this->Cell(array_sum($w),0,'','T');
	$this->Ln(10);
}
 
function tableRegler($totalRegler) {
	$this->SetFont('Arial','B',16);
	$this->Cell(40,10,'Vous devez régler une commande totale de '.$totalRegler);
}
 
 
//Pied de page
function Footer()
{
	//Logo
    $this->Image('images/pdf/bas.jpg',0,237,210);
}
}
 
$pdf=new PDF('P','mm','A4');
 
$header=array('Désignation',' ','Tarif','Qté','Montant');
//Chargement des données
$coordonnees=$pdf->LoadData($txtCoordonnees);
$commande=$pdf->LoadData($txtCommande);
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$pdf->tableCoordonnees($coordonnees);
$pdf->tableCommande($header,$commande);
$pdf->tableRegler($totalRegler);
$pdf->Output();
 
 
$finCoordonnees = unlink("coordonnees/".$numero.".txt");
$finCommande = unlink("commande/".$numero.".txt");
 
session_destroy();
 
?>
Si vous avez la réponse, ou même une simple suggestion, je suis preneur car c'est hyper urgent.

Si je ne suis pas dans la bonne catégorie, veillez à changer mon message de place.

merci par avance.
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 20h42   #2
Membre émérite
 
Avatar de goldkey
 
Inscription : mars 2003
Messages : 795
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2003
Messages : 795
Points : 842
Points : 842
Une petite recherche sur le forum et hop quelques pistes ...

http://www.developpez.net/forums/sho....php?p=1978859

http://www.developpez.net/forums/arc...p/t-68574.html
goldkey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2007, 18h39   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
Citation:
Envoyé par goldkey
Je suis désolé mais je n'arrive pas à résoudre le problème, même avec les liens que tu m'as donné.

Si il y a d'autres idées ou des éclaircissements ?
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2007, 13h13   #4
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
Ca y est, j'ai résolu le problème.

J'ai re-regardé les liens précédemment fournis et j'ai essayé un truc:

En fait, mon script ne génère plus le PDF en même temps qu'il s'affiche, mais maintenant, le PDF est généré puis enregistré.

Ensuite, je rajoute un lien pour télécharger le PDF généré et hop, plus de problème.

Voici la mini-modification par rapport à l'ancien script:

Code :
1
2
3
4
5
6
7
8
 
<?php
 
$destination = "pdf/".$numero.".pdf";
 
$pdf->Output($destination);
 
?>
Merci à vous ...
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 13h49   #5
Membre à l'essai
 
Inscription : juin 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 60
Points : 22
Points : 22
Par défaut probleme de tableau php avec FPDF

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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
<?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 ('<br><br><br><center>La reponse ne contient aucun enregistrement <br><br> ou <br><br> 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
ns_deux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web