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] IE ne trouve pas mes pdf créés avec FPDF


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut [FPDF] IE ne trouve pas mes pdf créés avec FPDF
    Bonjour tout le monde,

    J'ai ce code qui fonctionne parfaitement avec Firefox :

    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
    <?php
    session_start();
    define('FPDF_FONTPATH','font/');
    require('mysql_table.php');
     
    class PDF extends PDF_MySQL_Table
    {
    	function Header()
    	{
    		//Titre
    		$this->SetFont('Arial','',10);
    		$this->Cell(0,6,'Professeur '.$_SESSION['Prenom'].' '.$_SESSION['Nom']. ' ' .$_GET['cours']. ' ' . $_GET['type'].' '.$_GET['categorie']. ' (Page ' . $this->PageNo().' sur'. $this->AliasNbPages(). ' {nb} )'. '      Date : '. date("d/m/y") .'   Signature : ',0,1,'C');
    		$this->Ln(10);
    		//Imprime l'en-tete du tableau si nécessaire
    		parent::Header();
    	}
    }
     
    //Connexion a la base
    mysql_connect('localhost','root','mdp');
    mysql_select_db('pharma');
     
    $pdf=new PDF();
    $pdf->Open();
    $pdf->AddPage();
     
    $sql = "SELECT inscrits_en.MATRICULE_ET, etudiants.NOM_ET, etudiants.PRENOM_ET,inscrits_en.NOTE FROM `inscrits_en` LEFT JOIN `etudiants` ON ( inscrits_en.MATRICULE_ET = etudiants.MATRICULE_ET ) WHERE MNEMONIC = '".$_GET['cours']."' AND TYPE_DE_COURS = '".$_GET['type']."' AND CATEGORIE = '".$_GET['categorie']."' ORDER BY NOM_ET, PRENOM_ET";
     
    //Premier tableau : imprime toutes les colonnes de la requete
    $pdf->Table($sql);
     
     
    $pdf->Output();
    ?>
    Il affiche bien dans un nouvel onglet un fichier PDF.

    Avec Internet Explorer, ce n'est malheureusement pas le cas, j'ai droit à la page non trouvée (voir miniature).

    Sauriez-vous me dire comment je peux régler ce problème svp ?

    Merci d'avance.

    beegees

  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
    Bonjour,

    Est-ce qu'il n'y aurait pas des caracteres speciaux ou des espaces dans ton URL qui serait traités différemment ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Bonjour,

    Est-ce qu'il n'y aurait pas des caracteres speciaux ou des espaces dans ton URL qui serait traités différemment ?
    Bonjour,

    Merci pour ta réponse.

    Voici l'URL généré dans IE en local:


    Qu'en penses-tu ?

    beegees

  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
    Comment lance t-on la génération du pdf ?
    En cliquant sur un lien ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Comment lance t-on la génération du pdf ?
    En cliquant sur un lien ?
    Re,

    La ligne qui pose problème est celle-ci :

    Si je fais $pdf->Output("c:\NomFichier.pdf");

    Il l'enregistre dans le disque dur à l'endroit indiqué avec IE et FF
    Je devrais peut être contrôler quel navigateur est utilisé, si IE alors enregistrer autrement je peux afficher le PDF (c'est une idée).

    Pour répondre à ta question Sabotage, on génère le pdf par le clic d'un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="submit" name="imprimer" id="imprimer" value="Imprimer" onclick="Imprimer();"/></td><td><div id="div_cloturer"></div></td>
    qui appelle donc la fonction Imprimer() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function Imprimer()
    {
    	var cours = document.getElementById('select_Nom_mnemonics').options[document.getElementById('select_Nom_mnemonics').selectedIndex].value;
    	var type = document.getElementById('select_Nom_types').options[document.getElementById('select_Nom_types').selectedIndex].value;
    	var categorie = document.getElementById('select_Categories').options[document.getElementById('select_Categories').selectedIndex].value;
     
    	if((cours == "") || (type == "") || (categorie == "")){ 
     
    		alert("Veuillez svp choisir un cours");
    		return false;
    	}	
     
     	window.open("PDF/TableauEtudiants.php?cours="+cours+"&type="+type+"&categorie="+categorie,null,"");
    }
    Mais pourquoi Output() ne fonctionne pas avec IE, c'est un mystère.
    Qu'en penses-tu ?

    beegees

  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
    pourquoi reproduire un get via une fonction javascript ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par sabotage Voir le message
    pourquoi reproduire un get via une fonction javascript ?
    Mon Prof m'a dit que window.open prenait des paramètres en GET.

    As-tu une autre solution ?

    Merci pour ton aide.

    beegees

  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
    Par défaut
    Si tu tapes directement l'url ca fonctionne ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Si tu tapes directement l'url ca fonctionne ?
    ça ne fonctionne pas, non.

    Je me demande si ce n'est pas un problème de version.

    Je suis occupé à installer la version 1.6 à la place de la 1.53

    J'espère que le problème vient de là.

    Je te tiens au courant.

    @+

    beegees

  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
    Par défaut
    est ce que tu affiches bien les erreurs ?
    quand je masque les erreurs, IE me retourne ce genre de fenetre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par sabotage Voir le message
    est ce que tu affiches bien les erreurs ?
    quand je masque les erreurs, IE me retourne ce genre de fenetre.
    niveau php.ini ?

    Le voici :

    voir attaché

    beegees

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut
    Bonjour,

    Il semblerait que j'ai le même problème que toi...
    Pourrais-tu m'indiquer comment tu es venu a bout de ton "petit" souci !!

    Merci d'avance.

  13. #13
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par CoudJM Voir le message
    Bonjour,

    Il semblerait que j'ai le même problème que toi...
    Pourrais-tu m'indiquer comment tu es venu a bout de ton "petit" souci !!

    Merci d'avance.
    Salut,

    Voici ce que j'ai ajouté pour que cela fonctionne avec IE (et FF) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Sortie vers l'écran
    $pdf->Output(I);
    //***Vue que cela ne fonctionne pas avec IE, je dois ajotuer ce code qui crée un fichier temporaire (voir FAQ fpdf)***
    //Détermination d'un nom de fichier temporaire dans le répertoire courant
    $file = basename(tempnam('.', 'tmp'));
    rename($file, $file.'.pdf');
    $file .= '.pdf';
    //Sauvegarde du PDF dans le fichier
    $pdf->Output($file, 'F');
    //Redirection
    header('Location: '.$file);
    beegees

  14. #14
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut
    Bonjour,

    Merci pour ta réponse

    j'en étais arrivé a peu prés au même résultat.
    Avec

    $pdf->Output('Nomdufichier.pdf'); // fermeture de l'etat PDF

    header ("location: Nomdufichier.pdf");

  15. #15
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par CoudJM Voir le message
    Bonjour,

    Merci pour ta réponse

    j'en étais arrivé a peu prés au même résultat.
    Avec

    $pdf->Output('Nomdufichier.pdf'); // fermeture de l'etat PDF

    header ("location: Nomdufichier.pdf");
    Bonjour,

    Merci pour ton complément d'information qui pourrait servir à d'autre dans le future.

    Sais-tu comment dimensionner les colonnes d'un tableau fpdf ?

    @+

    beegees

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

Discussions similaires

  1. Tomcat ne trouve pas mes servlets
    Par squeezen123 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 29/05/2008, 20h43
  2. Réponses: 2
    Dernier message: 03/12/2007, 10h28
  3. Trouve pas mes classes sur le serveur de production
    Par batataw dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 22/09/2007, 12h01
  4. Javac ne trouve pas mes autres packages
    Par bibx dans le forum ANT
    Réponses: 1
    Dernier message: 17/08/2006, 10h34
  5. [JNI] Java ne trouve pas mes méthodes natives
    Par carotte31 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 14/06/2006, 21h47

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