Quel est le meilleur moyen d'imprimer le contenu d'un DIV ?
Ceci est une solution rapide. La solution idéale est d'utiliser un CSS séparé pour l'impression. Peut-être que vous pouvez développer sur les détails (exigences) de votre problème.
Quel est le meilleur moyen d'imprimer le contenu d'un DIV ?
Des changements légers par rapport à la version précédente - testés sur CHROME
function PrintElem(elem)
{
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write('' + document.title + '');
mywindow.document.write('');
mywindow.document.write('' + document.title + '');
mywindow.document.write(document.getElementById(elem).innerHTML);
mywindow.document.write('');
mywindow.document.close(); // nécessaire pour IE >= 10
mywindow.focus(); // nécessaire pour IE >= 10*/
mywindow.print();
mywindow.close();
return true;
}
Ceci est une solution rapide. La solution idéale est d'utiliser un CSS séparé pour l'impression. Peut-être que vous pouvez développer sur les détails (exigences) de votre problème.
Salut, merci. J'ai un fichier css séparé appelé main.css mais je n'ai aucun moyen de le lier à la nouvelle fenêtre.
Vous pouvez faire référence à la feuille de style dans la fenêtre contextuelle. Ajoutez une autre ligne de code entre les balises : mywindow.document.write('');
Je pense qu'il y a une meilleure solution. Faites en sorte que votre div à imprimer couvre l'ensemble du document, mais seulement lors de l'impression :
@media print {
.myDivToPrint {
background-color: white;
height: 100%;
width: 100%;
position: fixed;
top: 0;
left: 0;
margin: 0;
padding: 15px;
font-size: 14px;
line-height: 18px;
}
}
Malheureusement, cela ne fonctionnera pas exactement comme prévu dans IE, voir ceci : stackoverflow.com/questions/975129/…
Remarque : Cela fait plus de 13 ans depuis que le plugin mentionné ci-dessous a été écrit, comme indiqué dans les commentaires. Il ne fonctionne plus en raison des modifications apportées à l'API de jQuery. N'hésitez pas à le copier et à soumettre une demande de modification !
Bien que cela ait été dit par @gabe, Si vous utilisez jQuery, vous pouvez utiliser mon plugin printElement
.
Il y a un exemple, et plus d'informations sur le plugin.
L'utilisation est assez simple, il suffit de sélectionner un élément avec un sélecteur jQuery et de l'imprimer :
$("#myDiv").printElement();
J'espère que cela vous aide !
8 ans plus tard, cela produira "a.browser is undefined" car l'appel .browser a été supprimé dans jquery 1.9.
À partir d'ici https://forums.asp.net/t/1261525.aspx
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr + newstr + footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
div imprimer
//Page HTML //Autre contenu que vous ne voulez pas imprimer
Le contenu du div que vous souhaitez imprimer
//Autre contenu que vous ne voulez pas imprimer //Autre contenu que vous ne voulez pas imprimer
Créez une feuille de style pour l'impression séparée qui masque tous les autres éléments sauf le contenu que vous souhaitez imprimer. Marquez-le en utilisant 'media="print"
lors de son chargement :
Cela vous permet d'avoir une feuille de style complètement différente chargée pour les impressions.
Si vous souhaitez forcer la boîte de dialogue d'impression du navigateur à apparaître pour la page, vous pouvez le faire comme ceci lors du chargement en utilisant JQuery :
$(function() { window.print(); });
ou déclenché par tout autre événement que vous souhaitez comme un utilisateur cliquant sur un bouton.
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.
1 votes
Essayer d'imprimer l'élément ici
2 votes
Que voulez-vous dire par imprimer? Comme dans une imprimante physique?
0 votes
"Imprimer" comme sur une imprimante ? ou sur le document ?
0 votes
J'ai trouvé le meilleur plugin développé jusqu'à présent par etimbo github.com/etimbo/jquery-print-preview-plugin
4 votes
Juste comme référence pour toute personne essayant de trouver une solution à cette question d'impression d'une div. J'ai trouvé la réponse suivante très utile: stackoverflow.com/a/7532581/405117
1 votes
Possible duplicate of [Imprimer
uniquement ?](http://stackoverflow.com/questions/468881/print-div-id-printarea-div-only)