De plus en plus de site web ont recours à la génération de pdf à la volée, que ce soit pour permettre au visiteur de sauvegarder une page d’un site, ou pour générer divers documents (facture, fiche produit, formulaire personnalisé, …).
J’utilise ce système sur de nombreux sites, et je viens de découvrir un problème survenant avec IE sur pc. Sur certains sites en effet, plutôt que d’afficher le pdf généré et renvoyé au navigateur par le serveur, IE affiche une page blanche.
Après investigation, il apparaît que le problème survient si le serveur est configuré pour envoyer les pages au navigateur en les compressant en gzip. La compression semble perturber IE. Même si le serveur n’est configuré que pour compresser les pages html et php par exemple, puisque la génération du pdf se fait par l’appel d’une page php, le flux de retour est compressé en gzip, et modifier le header retourné par le serveur n’y change rien.
La solution à ce problème est soit de générer automatiquement le pdf, puis de mettre un lien pointant directement sur le fichier pdf (dans ce cas le flux de réponse ne sera pas compressé puisqu’on appelle un fichier pdf), soit, plus radical, supprimer la compression gzip pour les pages à destination d’IE. La premiére solution n’est pas toujours possible, la deuxième est un peu extrême à mon gout. Si vous connaissez une autre technique, je suis preneur.