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 :

[PDF] TCPDF et fichier inclus


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut [PDF] TCPDF et fichier inclus
    bonjour a tous,

    Je suis en train de faire un pdf pour reprendre certaine information contenu dans une BDD (MySQL) mais lorsque j’exécute le PDF j'ai le message d'erreur suivant

    TCPDF ERROR: Some data has already been output, can't send PDF file
    En fouillant à droite à gauche sur le net j'ai lu que ça pouvais provenir d'un include et effectivement en commentant la ligne d'appel du fichier ça marche bien.
    Sauf que j'ai besoin de ce fichier pour interroger ma base et récupérer les infos que je veux afficher dans le pdf.
    Comment dois je faire pour avoir c'est infos dans le pdf merci

    le fichier inclus
    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
     
    <?php
     
      include_once '../../../classes/PDOIbgn.php';
    class DONNEES{
     
       public static $pdo='' ;
       public static $_numDossier=2;
       public static $_numSousDossier=1;
       public static  $_numClient=2;
     
       private static function getConnexion(){
     
           $pdo = PDOIbgn::getPDOIBGN();
           return $pdo;
        }
        public static function getReferenceDossier(){
            $selection="SELECT 
                        numDevis, numSousDossiers
                    FROM
                        sousdossiers,
                        dossiers,
                        commande
                    where
                        commande.dossiers_iddossiers = dossiers.iddossiers
                            AND sousdossiers.dossiers_iddossiers = dossiers.iddossiers
                            AND dossiers.iddossiers = ".self::$_numDossier.
                            " AND sousdossiers.numSousDossiers = ".self::$_numSousDossier;
     
            $refDossier=  DONNEES::getConnexion()->requeteSelection($selection);
            $numDevis= "Devis N° : ".$refDossier[0]['numDevis']." - ".$refDossier[0]['numSousDossiers'];
            return $numDevis;
        }
     
        public static function  getInformationClient(){
     
            $selection="select 
                            societe,adresse1, adresse2,codePostal,ville
                        from
                            client
                        where
                            idclient = ".self::$_numClient;
     
            $nomclient=  DONNEES::getConnexion()->requeteSelection($selection);
            return $nomclient;
        }
     
        public static  function getInformationSousDossier(){
            $selection="select 
                            *
                        FROM
                            sousdossiers,
                            dossiers,
                            donneesmeteohydro,
                            villederef,
                            coursdeau
                        WHERE
                            coursdeau.idcoursDeau = donneesmeteohydro.coursDeau_idcoursDeau
                                AND villederef.idvilleDeRef = donneesmeteohydro.villeDeRef_idvilleDeRef
                                AND dossiers.iddossiers = donneesmeteohydro.dossiers_iddossiers
                                AND sousdossiers.dossiers_iddossiers = dossiers.iddossiers
                                AND sousdossiers.dossiers_iddossiers = ".self::$_numDossier.
                                " AND sousdossiers.numSousDossiers = ".self::$_numSousDossier;
     
            $sousDossier=  DONNEES::getConnexion()->requeteSelection($selection);
            return $sousDossier;
        }
     
        ......   
    }
    ET voici la portion du code pour générer le pdf
    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
    <?php
    include_once '../../../classes/librairie/pdf/fpdf/tcpdf/tcpdf.php';
    
    include_once './TCPDF_include.php';
    
    class MYPDF extends TCPDF {
    
        //Page header
        public function Header() {
            // Logo
            $image_file = K_PATH_IMAGES.'logo.jpg';
            $this->Image($image_file, 10, 6, 40, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
    
        // Police helvetica gras 15
            $this->SetFont('times','B',15);
    
        // Décalage à droite
            $this->Cell(8);
    
        // Titre
            $this->Cell(100,10,  'le titre',0,0,'C');
    
       
    //
    //    // Saut de ligne
            $this->Ln(9);
    //
    //    //nature de la feuille
            $this->SetTextColor(0, 153, 0);
            $this->SetFont('times','',8);
            $txt='Feuille de prélévement';
            $this->Cell(180,10,$txt,1,1,'C');
    //
    //    //N° du devis et du sous dossiers
            $this->SetTextColor(0);
            $this->SetFont('times','',8);
            $refDossier=  DONNEES::getReferenceDossier();
            $this->SetY(44);
            $this->Cell(50,1, $refDossier,0,1,'L');
    
        // épaisseur de la ligne de séparation
            $this->SetLineWidth(1.2);
        //couleur de la ligne de séparation
            $this->SetDrawColor(0,53,0);
         //possitionnement de la ligne de séparation
            $this->Line(10, 42, 190, 42);
        //insere des saut de ligne pour le possitionnement des référence clients
            $this->Ln(5);
        }
    
        // Page footer
        public function Footer() {
            // Position at 15 mm from bottom
            $this->SetY(-15);
            // Set font
            $this->SetFont('helvetica', 'I', 8);
            // Page number
            $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');
        }
    }
    J'ai mis en avant les 2 lignes qui me pose problème

    Je vous remercie par avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Vérifie que ton fichier inclus est encodé Sans BOM s'il est en UTF8 et qu'il ne contient pas d'espace ou de caractères avant ou après les balises <?php ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    salut et merci pour ton aide,

    Il n'y a rien avant et après les balises php

    Par contre comment je peux voir si il est encodé sans BOM j'utilise neatbeans 7.4 comme EDI

    merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux le voir avec Notepad++
    Avec Netbenas je ne sais pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    je viens de vérifier et non c'est bien en UTF-8 sans BOM


  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as contrôlé les deux fichiers inclus ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    oui j'ai même vérifié les fichiers inclus qu'appèle la classe TCPDF mais rien n'y fait

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ou est la ligne qui envoit le PDF ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    Je sais pas si c'est ça mais en fouillant sur le net j'ai trouvé une solution j'ai rajouté

    juste avant
    est ça fonctionne maintenant

    Pour répondre à ta question, il est à la fin du code de la page appelante les inclusions (page principale)

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ob_end_clean(); dissimule le problème mais c'est une solution.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    c'est pour cela que j'ai pas clôturé la discussion si quelqu'un peux m'aider à trouver une autre solution.
    J'ai mis ce que j'avais trouvé pour aider d'autre personne .

Discussions similaires

  1. [PDF] TCPDF/FPDI Fichier corrompu
    Par albedo0 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/06/2013, 20h30
  2. Creer un pdf depuis un fichier Excel
    Par calimero91 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/06/2006, 14h23
  3. [Pdf] imprimer un fichier pdf
    Par Invité dans le forum Documents
    Réponses: 2
    Dernier message: 20/03/2006, 09h25
  4. Réponses: 8
    Dernier message: 29/01/2006, 16h48
  5. Réponses: 2
    Dernier message: 14/11/2005, 11h07

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