Bonjour,

Je génère une page HTML destinée à être imprimée (Imaginons un rapport de travail suite à un passage technique en clientèle).

Tout est parfait , sauf l'impression, qui contient l'url de ma page ainsi que le nombre de page et l'heure. Soit le footer et l'header envoyé par le navigateur. Chose que je n'aimerais pas du tout.

J'ai essayé de faire un style en CSS et d'empêcher le footer et header d'être imprimé, mais sans résultat :

@media print { #header, #footer { display: none; } } 

Est-ce qu'il y a une solution via CakePHP qui permettrait de régler ce problème ?
J'ai cru voir qu'il serait possible d'envoyer la page directement sur le navigateur et d'être lue, comme cela l'impression se fait correctement, mais je ne suis pas sûr d'avoir compris correctement...

Merci d'avance.

4 réponses


Bonjour,

Sur Chrome, je sais qu'il est possible, dans l'utilitaire d'impression, de retirer ces informations (à la main donc).
A voir si cela est possible sur les autres navigateurs courants.
Tu pourrais générer la page dans un PDF, mais c'est lourd pour pas grand chose...

Ragnar
Auteur

Salut Khalysto.

En effet je sais qu'il est possible de le faire depuis le navigateur, mais j'aurais voulu le faire depuis CakePhp, car mes utilisateurs ne sont pas tous sur Chrome et ne veulent pas forcément avoir à configurer des choses sur les navigateurs.

J'ai été confronté au même problème, hélas il n'y a rien à faire puisque c'est la configuration du navigateur client qui détermine l'affichage de ces données ou pas. Si pour des raisons de sécurité tu veux cacher certains paramètres querystring, tu peux envoyer tes données en POST.
Autre solution plus chronophage : générer le PDF grâce à une librairie tierce genre HTML2PDF ou wkhtmltopdf.

Ragnar
Auteur

Merci Amethyste.

Etant encore un grand débutant de Cake, j'avais essayé de me lancer dans CakePDF avec wkhtmltopdf, mais je n'y arrive pas du tout je ne comprends pas comment faire fonctionner...