Supprimer Header et Footer dans l'impression de page Web

Eléphanteau du PHP | 10 Messages

14 mars 2007, 05:09

Bonjour,

J'ai créé un document CSS qui me permet de rendre les pages de mon site WEB Printer Friendly. J'ai au bas de ma page, un lien qui permet d'imprimer la page Web.

Code : Tout sélectionner

<a href="javascript:window.print()">
Le problème, c'est que le header et le footer s'imprime. C'est-à-dire, le titre de la page web, l'adresse URL, le nombre de page et la date. Puis-je par programmation retirer le header et le footer de mon impression pour n'obtenir seulement le texte de ma page?

Merci

Mammouth du PHP | 1885 Messages

14 mars 2007, 06:54

Si tu lis l'anglais:
http://www.sitepoint.com/forums/showthread.php?t=146026

Utilise CSS avec media="print" pour appliquer seulement à l'impression.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
AB
ViPHP | 5818 Messages

14 mars 2007, 08:43

Bonjour,

J'ai déjà employé cette méthode (CSS avec media="print") pour masquer ou modifier certaines parties d'une page à afficher par contre je n'ai pas réussi à masquer le titre et le pied de page qui s'affichent automatiquement...

Et je ne vois pas dans le lien ci-dessus comment faire pour masquer le header et le footer. J'ai manqué quelques lignes ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 mars 2007, 13:07

C'est le navigateur qui ajoute ces entêtes et pieds de page. Ils sont en principe paramétrable par l'utilisateur dans les paramètres d'impression de son browser, mais je ne crois pas que tu puisses les désactiver ou les masquer depuis un site...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 10 Messages

16 mars 2007, 02:09

Effectivement, semble-t-il que ce n'est pas ou difficilement parametrable par programmation. En revanche, il est possible de définir les marges du document. Je crois que c'est avec un code ressemblant à ceci:

Code : Tout sélectionner

<style type="text/css"> @page {size: portrait; margin-top: 1.38in; margin-bottom:2.76in;} </style>
Le probème est que il n'y a pas de changement notable lorsque j'imprime. Est-ce que j'ai loupé quelque chose?

ViPHP
AB
ViPHP | 5818 Messages

16 mars 2007, 04:57

Bonjour,

Je ne connais pas le code ci-dessus mais le principe est de faire deux feuilles de style dont une pour l'imprimante qui sera déclarée comme ça :

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

Avec cette feuille tu peux modifier ce que tu veux y compris masquer des parties inutiles pour l'impression.
Et comme les imprimantes "parlent" en point par pouce, tu peux utiliser des tailles exprimées en point sans pb ex : font-size:12pt;

Plus d'infos sur le lien de Xenon_54 ou sur alsacréation