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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    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
    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 éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    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
    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 éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    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
    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

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