1

[v4.03]

Bonjour,

Je n'ai eu aucun problème pour générer un PDF (merci pour HTML2PDF !) et à en forcer le téléchargement…

Le lien d'origine se trouve sur une page facture.php et pointe vers une page pdf.php?id=99

Cette page pdf.php contient tout le code nécessaire à la création du PDF plus quelques informations passées en variable de session (comme la confirmation que le PDF a bien été téléchargé) et une redirection vers la page d'origine ou une autre page selon le cas.

Tout fonctionne à merveille sauf…

Sauf que, bizarrement, quand je clique sur le lien "Télécharger PDF" de la page d'origine (facture.pdf) le navigateur ne semble pas sortir de cette page d'origine. Toutes les actions de pdf.php sont bien effectuées mais rien ne se passe du côté du navigateur à part le téléchargement du PDF. La page d'origine reste affichée et ne se recharge pas. (idem sur Chrome et Firefox, dernières versions)

Du coup :

1 - le message de confirmation ne s'affiche pas puisque la page n'est pas rechargée (ou plus exactement il s'affichera plus tard, quand j'afficherai une autre page du site, ce qui n'est pas le comportement souhaité).

2 - si je veux rediriger vers une autre page que la page d'origine (que ça soit avec un header ou en javascript), c'est impossible puisque la page pdf.php n'est pas chargée ans la fenêtre du navigateur.

Merci d'avance de m'éclairer une peu…

2

J'imagine que ce 'est pas un bug et que ça doit être un truc lié au forcement du téléchargement et au fonctionnement des navigateurs actuels, mais c'est assez déroutant…

J'ai tout essayé pour contourner la question :
- passer par un formulaire en _POST au lieu du lien en _GET (ça ne change rien)

- mettre un reload ou une redirection javascript sur le lien ou un élément parent (bizarrement ça semble être totalement désactivé ! si je place le même script à un autre endroit de al page, ça marche mais pas sur ce lien !)

- mettre du code php dans le try{} de la création du PDF (ne change rien non plus)

En fait je voudrais juste comprendre ce qui se passe pour savoir quelle stratégie adopter, merci d'avance !