J'ai une meilleure solution avec un code minimal.
Placez votre partie imprimable dans un div avec un id comme celui-ci :
<div id="printableArea">
<h1>Print me</h1>
</div>
<input type="button" onclick="printDiv('printableArea')" value="print a div!" />
Ensuite, ajoutez un événement comme un onclick (comme indiqué ci-dessus), et passez l'id de la div comme je l'ai fait ci-dessus.
Maintenant, créons un javascript très simple :
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
Vous avez remarqué comme c'est simple ? Pas de popups, pas de nouvelles fenêtres, pas de style fou, pas de bibliothèques JS comme Jquery. Le problème avec les solutions vraiment compliquées (la réponse n'est pas compliquée et n'est pas ce à quoi je fais référence) est le fait qu'elles ne seront JAMAIS traduites sur tous les navigateurs, jamais ! Si vous voulez que les styles soient différents, faites comme indiqué dans la réponse vérifiée en ajoutant l'attribut media à un lien de feuille de style (media="print").
Sans fioritures, léger, ça marche tout simplement.
2 votes
stackoverflow.com/questions/2255291/ ce lien fonctionne parfaitement