IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] FPDF error: can't send PDF file


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut [FPDF] FPDF error: can't send PDF file
    Bonjour je viens de débuté l'exportation en pdf grace a fpdf... j'aimerai récupérer des données de ma base mysql... j'ai trouvé un script qui fait cela tres bien.. mais j'ai une erreur -> FPDF error: Some data has already been output, can't send PDF file, j'ai cherché un peu partout... j'ai vu que si on avait du code html juste avant cela pouvais sortir cette erreur mais moi j'ai pas de code html juste avant ce script... si qqn voit l'erreur merci de m'aider

    voici le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    require('fpdf.php');
     
     
     
    class PDF extends FPDF
    {
    //En-tête
    function Header()
    {
        //Logo
        $this->Image('Images/oddos3.jpg',20,10,50);
        //Police Arial gras 15
        $this->SetFont('Arial','B',8);
     	//Saut de ligne
        $this->Ln(20);
    }
     
    //Pied de page
    function Footer()
    {
        //Positionnement à 1,5 cm du bas
        $this->SetY(-32);
        //Police Arial italique 8
        $this->SetFont('Arial','B',8);
     
    	$this->Cell(0,0,'ODDOS BURO');
    	$this->Cell(-26,0,'SIREN : 335 119 186', 0, 1, 'C');
    		$this->Ln(4);
    	$this->Cell(0,0,'15, rue du général Lionel de Marmier');
    	$this->Cell(-31,0,'TVA : FR 03 335 119 186', 0, 1, 'C');
    		$this->Ln(4);
    	$this->Cell(0,0,'31300 TOULOUSE');
    	$this->Cell(-34,0,'SIRET : 335 119 186 00054', 0, 1, 'C');
    		$this->Ln(4);
    	$this->Cell(0,-16,'Tél : 05 62 73 77 77 / Fax : 05 61 62 57 82',0,0, 'C');
    	$this->Cell(-42,0,'SARL au capital de 600 000 euros', 0, 1, 'C');
    		$this->Ln(4);
    	$this->Cell(0,-16,'www.oddos-buro.fr',0,0, 'C');
    		$this->Ln(4);
    	$this->Cell(0,-16,'contact@oddos-buro.fr',0,0, 'C');
        	$this->Ln(8);
    	$this->Cell(0,-16,'(Au terme de la loi de mai 1980, nos marchandises restent notre propriété jusqu\'à leur paiement intégral)');
    	//Numéro de page
    	$this->Cell(-10,0,'Page '.$this->PageNo().'/{nb}', 0, 1, 'C');
    }
     
    function LoadData($file)
    {
        //Lecture des lignes du fichier
        $lines=file($file);
        $data=array();
        foreach($lines as $line)
        $data[]=explode(';',chop($line));
        return $data;
    }
     
    //Tableau coloré
    function ExportTableau($header,$data)
    {
        //Couleurs, épaisseur du trait et police grasse
        $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');
     
    	//En-tête
        $w=array(35,20,50,20,45,20,27,27,45);
        for($i=0;$i<count($header);$i++)
            $this->Cell($w[$i],7,$header[$i],1,0,'C',1);
        $this->Ln();
     
    	//Restauration des couleurs et de la police
        $this->SetFillColor(224,235,255); //couleur du fond des cases
        $this->SetTextColor(0); //couleur du texte des cases
        $this->SetFont('');
     
    	//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,'L',$fill);
            $this->Cell($w[3],6,$row[3],'LR',0,'L',$fill);
    		$this->Cell($w[4],6,$row[4],'LR',0,'L',$fill);
    		$this->Cell($w[5],6,$row[5],'LR',0,'L',$fill);	
    		$this->Cell($w[6],6,$row[6],'LR',0,'L',$fill);
    		$this->Cell($w[7],6,$row[7],'LR',0,'L',$fill);
    		$this->Cell($w[8],6,$row[8],'LR',0,'L',$fill);        
    		$this->Ln();
            $fill=!$fill;
        }
        $this->Cell(array_sum($w),0,'','T');
    }
    }
    // On se connecte à la base
    require_once('connexion.php');
     
    // On demande à la base de renvoyer les résultats en utf8
    mysql_query("set names utf8");
     
    //Requete SQL
    $query = "SELECT ld.RefA, DescriptionA, Quantite, PrixUA, RemiseA, cast((Quantite*PrixUA*(1-RemiseA/100)) AS decimal(10,2)) as PrixHT, DescriptifCol, c.NomFrsCol FROM ARTICLES a, LIGNE_DEVIS ld, DEVIS d, COLLECTIONS c WHERE c.NomFrsCol=a.NomFrsCol AND a.RefA=ld.RefA AND ld.NumD=d.NumD AND ld.NumD='".$_GET['Devis']."'";
    $result = mysql_query($query) or die ('Erreur SQL !<br />' . $query . '<br />' . mysql_error());
     
    //Boucle sur les resultats
    while($col = mysql_fetch_array($result)) 
    {
    $data = "$col[RefA];$col[DescriptionA];$col[Quantite];$col[PrixUA];$col[RemiseA];$col[PrixHT];$col[DescriptifCol];$col[NomFrsCol];";
    $data = utf8_decode($data);
    $data = array($data);
    }
     
     
     
    //Instanciation de la classe dérivée
    $pdf=new PDF();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    $pdf->Ln(25);
    $pdf->Cell(120);
    $pdf->Cell(0,10,'Client :',1,0,'');
    $pdf->Ln(20);
    $pdf->ExportTableau($header,$data);
    $pdf->Output();
     
    ?>

  2. #2
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    voici l'erreur en entier :

    Notice: Undefined variable: header in C:\Documents and Settings\lain\Bureau\DevisOddos\pdf.php on line 127
    FPDF error: Some data has already been output, can't send PDF file
    ligne 127 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->ExportTableau($header,$data);

    pti up

  3. #3
    Invité
    Invité(e)

  4. #4
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    Salut !

    J'ai déjà vu ce post et mon zlib.output_compression est désactivé... donc ce n'est pas la bonne solution merci quand même

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok après analyse de ton code, il me semble que la variable $header ne contienne pas de valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->ExportTableau($header,$data)
    Où est la partie de code qui initialise cette variable?

  6. #6
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    Ok en effet j'avais oublié un bouh de code merci... maintenant est il normal que dans mon tableau, l'extraction reprend que le premier caractère de chaque colonnes ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML2PDF] TCPDF ERROR: Some data has been output, can't send PDF file
    Par symff dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/07/2010, 11h42
  2. [FPDF] FPDF error: Some data has already been output, can't send PDF file
    Par jmnicolas dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/07/2010, 19h30
  3. Réponses: 1
    Dernier message: 01/03/2010, 16h36
  4. Réponses: 5
    Dernier message: 01/02/2010, 16h43
  5. [FPDF] FPDF error: Some data has already been output, can't send PDF file
    Par dolfy dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/10/2008, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo