Probléme avec IE pour ouvrir un fichier php qui génère un fichier PDF avec FPDF

Résolu
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009 - 18 mars 2009 à 14:54
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009 - 24 mars 2009 à 10:53
Bonjour,

voilà mon problème, j'ai un fichier php qui génère un fichier pdf grace à fpdf. J'utilise un bouton qui lance une fonction javascript dans laquelle j'utilise window.open('mon_fichier.php').

Sous FireFox 3, aucun problème, il ouvre un nouvel onglet avec le pdf que mon fichier php génère,
mais sous IE7, il m'ouvre bien une nouvelle fenêtre mais avec la page d'erreur "Internet Explorer ne peut pas afficher cette page Web".

Pourtant en utilisant un je n'ai aucun problème.

Cela fait des jours que je cherche et je ne trouve pas pourquoi IE refuse mon javascript.

Quelqu'un aurait une idée ?
A voir également:

11 réponses

cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
24 mars 2009 à 10:53
Bonjour à tous,

à force de tourner et retourner le problème dans tous les sens, j'ai enfin résolu mon problème ... Vive IE !!! (c'est ironique, bien sûr)

Devant l'obstination d'IE à me pourrir la vie, j'ai contourné mon problème :
ma fonction imprimer() en javascript était la suivante :
function imprimer()
{
   window.open("mon_fichier_php_qui_genere_un_pdf.php");
}

je l'ai transformée ainsi :
function imprimer()
{
   var fenetre;
   fenetre = window.open();
   fenetre.location.replace("mon_fichier_php_qui_genere_un_pdf.php");
}
et ça fonctionne impeccable ! De plus je n'ai rien eu à modifier dans mon fichier php, il est tel qu'il était au départ.
Je n'ai ni eu besoin d'appeler la fonction header(), ou encore d'avoir recours au méthodes ob_start(), ob_end_flush() ou ob_end_clean() de php ou encore des éventuels $pdf->Open() ou $pdf->Close().

Par contre je suis passé entre temps de Acrobat Reader 8.1.4 à Acrobat Reader 9.1 ... Je ne sais pas si cela peut avoir une incidence mais je préfère le préciser.

Quoiqu'il en soit mon pdf généré par du php s'affiche impeccablement dans une nouvelle fenêtre sous IE et FireFox. Merci à tous pour vos suggestion et remarques qui m'ont conduites à la solution.

J'invite tous les développer qui ont un problème similaire à tester ma méthode afin de voir si cela pourrait contourner le problème de plugin pour l'affichage des pdf avec IE.

Merci à tous.
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 mars 2009 à 20:38
Salut,

et je ne trouve pas pourquoi IE refuse mon javascript
... p'têt qu'IE c'est de la mer eu air dé eu ??

Un bout de script à nous monter ?

Cordialement,

Kohntark -
0
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
19 mars 2009 à 08:49
C'est pas peut-être, c'est sur qu'IE ça en est :p ...

Voilà le code de la fonction javascript :

function imprimer()
{
  window.open("imprimer.php");
}

et voilà un extrait du code du fichier appelé :

<?
session_start();
include("include/config.php");
require('fpdf/fpdf.php');
class PDF extends FPDF
{
   // Déclaration de fonctions
}

$pdf=new PDF('P', 'mm', array(80,120));
$pdf->SetMargins(0,0,0);
$pdf->AddPage();

// Récupération de variables de session, requêtes sql, traitement des informations et construction du document
// !!!! Il y a également des lignes vides séparant certaines lignes de code !!!!

unset($_SESSION["variables_de_session"]);

$pdf->Output();
?>

et voilà le code de création du bouton qui appel la fonction imprimer() :

print "<center></center>";

Avec FireFox : ouverture d'un nouvel onglet avec le pdf généré, aucun problème
Avec IE : ouverture d'une nouvelle fenêtre de navigateur mais qui affiche la page d'erreur "Internet Explorer ne peut pas afficher cette page Web"

Voilà ...
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
20 mars 2009 à 09:15
Bonjour,

Question idiote mais as tu essayé en baissant la protection anti-popup? car au max cela peut produire ce que tu dis...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
20 mars 2009 à 10:18
Bonjour faiblard

Je viens de faire mieux, j'ai désactivé le système anti-popup, je viens de tester et c'est toujours pareil.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
20 mars 2009 à 10:42
Il n'y a aucune ligne, même vide, avant (<?) ou après ($pdf->output()) ta création ?
Je crois savoir qu'il y a un bug lorsque tu génères dynamiquement le PDF et que le plugin adobe est installé.

Cordialement,

Kohntark -
0
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
20 mars 2009 à 10:58
Non, aucune ligne, qu'elle soit vide ou non avant (<?) ni après ($pdf->output()).
Je vais voir si je trouve quelque chose sur ce problème de plugin adobe avec IE ... Mais je laisse le SUJET ouvert, qui sait, peut-être que quelqu'un a déjà été confronté à ce problème ...
Ce qui est étonnant c'est que sous IE ça fonctionne avec un mais pas avec un window.open ...
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
20 mars 2009 à 11:14
l'adresse d'ouverture de la popup est bonne? pas de soucis de pare-feu ou chose comme ça?

Au passage remplace t'es <? par des <?php ça mange pas de pain et c'est tellement mieux
0
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
20 mars 2009 à 11:42
L'adresse est bonne et pas de soucis de pare-feu. De plus le code tel qu'il est fonctionne avec FireFox.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 mars 2009 à 11:41
Tiens, j'ai retrouvé une FAQ qui parle du pb de plugin :
http://www.fpdf.org/fr/FAQ.php#q3
Pas certain que ça vienne de là mais tente tout de même de désactiver le contrôle.

De plus le code tel qu'il est fonctionne avec FireFox.
=>
Ca ne veux pas forcement dire que ton code est bon, il peut y a voir des erreurs qui passent avec FF et pas avec IE, et réciproquement.
Comme le signale Faiblard pense aux <?php, non seulement ça ne mange pas de pain mais surtout c'est indispensable si tu veux que tes scripts continuent à fonctionner dans un avenir proche.

Au pire si tu ne t'en sort pas, passe par un fichier temporaire plutôt que généré le PDF à la volée, ou alors poste l'intégralité de ton code que l'on puisse tester.

Cordialement,

Kohntark -
0
cs_Franky57 Messages postés 7 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 24 mars 2009
23 mars 2009 à 10:12
Poster l'intégralité du code est impossible, à cause de la clause de confidentialité.
Mais je viens d'essayer mon code avec Safari, il fonctionne aussi et pourtant je n'ai rien modifié du tout.

J'ai oublié de préciser que l'affichage de toutes les pages ou de tout code php se fait via AJAX dans des balises
ou autre ... mais bon ça fonctionne avec FireFox et Safari, il n'y a que avec IE que ça veut pas ... Je commence à me dire que mon code est bon mais que c'est IE qui déconne.

Je vais tester différentes méthodes.
Merci pour le lien Kohntark.

Je continu de chercher.
0
Rejoignez-nous