143 votes

Supprimer l'en-tête et le pied de page de window.print()

J'utilise window.print() pour imprimer une page, mais l'en-tête et le pied de page contiennent le titre de la page, le chemin du fichier, le numéro de page et la date. Comment les supprimer ?

J'ai aussi essayé la feuille de style d'impression.

#header, #nav, .noprint
{
display: none;
}

Aidez-nous. Merci.

7 votes

Ces éléments sont spécifiques aux paramètres du navigateur de l'utilisateur. Je ne pense pas que vous puissiez les supprimer par le biais de CSS ou de JavaScript.

0 votes

Je pense que cette question nécessite une clarification : Essayez-vous de supprimer les éléments d'en-tête et de pied de page du HTML qui s'affiche à l'écran ou voulez-vous éliminer les en-têtes et les pieds de page qui sont ajoutés par la fonction d'impression ?

0voto

Koteshwar Points 11
 <html>
<head>
    <title>Print</title>
    <script type="text/javascript">
window.print();
document.margin='none';
</script>
</head>
<body>
  <p>hello</p>
  <p>hi</p>
</body>
</html>

//le placer dans un fichier script ou dans la balise script.

Cela supprimera toutes les marges et vous ne pourrez plus voir les en-têtes et les pieds de page.

-1voto

Nikhilus Points 9

1. Pour Chrome et IE

<script language="javascript">
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.getElementById('header').style.display = 'none';
document.getElementById('footer').style.display = 'none';
document.body.innerHTML = printContents;

window.print();

document.body.innerHTML = originalContents;
}

</script>
<div id="div_print">
<div id="header" style="background-color:White;"></div>
<div id="footer" style="background-color:White;"></div>
</div>
  1. Pour FireFox comme l2aelba l'a dit ,

Ajout de l'attribut moznomarginboxes dans le champ Exemple :

<html moznomarginboxes mozdisallowselectionprint>

-1voto

Josiah Points 63

Si vous êtes arrivé jusqu'ici, j'ai trouvé une solution pour Firefox. Elle permet d'imprimer le contenu d'une division spécifique sans les en-têtes et les pieds de page. Vous pouvez la personnaliser comme vous le souhaitez.

Tout d'abord, téléchargez et installez cet addon : JSPrintSetup .

Deuxièmement, écrivez cette fonction :

<script>
function PrintElem(elem)
{
    var mywindow = window.open('', 'PRINT', 'height=400,width=600');
    mywindow.document.write('<html><head><title>' + document.title  + '</title>');
    mywindow.document.write('</head><body >');
    mywindow.document.write(elem);
    mywindow.document.write('</body></html>');
    mywindow.document.close(); // necessary for IE >= 10
    mywindow.focus(); // necessary for IE >= 10*/

   //jsPrintSetup.setPrinter('PDFCreator'); //set the printer if you wish
   jsPrintSetup.setSilentPrint(1);

   //sent empty page header
   jsPrintSetup.setOption('headerStrLeft', '');
   jsPrintSetup.setOption('headerStrCenter', '');
   jsPrintSetup.setOption('headerStrRight', '');

   // set empty page footer
   jsPrintSetup.setOption('footerStrLeft', '');
   jsPrintSetup.setOption('footerStrCenter', '');
   jsPrintSetup.setOption('footerStrRight', '');

   // print my window silently. 
   jsPrintSetup.printWindow(mywindow);
   jsPrintSetup.setSilentPrint(1); //change to 0 if you want print dialog

    mywindow.close();

    return true;
}
</script>

Troisièmement, dans votre code, où vous voulez écrire le code d'impression, faites ceci (j'ai utilisé JQuery. Vous pouvez utiliser du simple javascript) :

<script>
$("#print").click(function () {
    var contents = $("#yourDivToPrint").html();
    PrintElem(contents);
})
</script>

Évidemment, vous avez besoin du lien pour cliquer :

<a href="#" id="print">Print my Div</a>

Et votre div à imprimer :

<div id="yourDivToPrint">....</div>

-5voto

alireza azami Points 35

Vous n'avez pas besoin d'écrire de code. juste avant d'appeler window.print() la première fois, changez les paramètres d'impression de votre navigateur. par exemple dans firefox :

  1. Appuyez sur Alt ou F10 pour voir la barre de menu.
  2. Cliquez sur Fichier, puis sur Mise en page
  3. Sélectionnez l'onglet Marges et en-tête/pieds de page.
  4. Modifier l'URL pour le vide -> image

et un autre exemple pour IE (j'utilise IE 11 pour les versions précédentes vous pouvez voir ceci Empêcher Firefox ou Internet Explorer d'imprimer l'URL sur chaque page ) :

  1. Appuyez sur Alt ou F10 pour voir la barre de menu.
  2. Cliquez sur Fichier, puis sur Mise en page
  3. dans la section En-têtes et pieds de page Changer l'URL pour vide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X