Page 1 sur 1

Imprimer le contenu d'une div

Posté : 03 déc. 2006, 00:49
par momox
Bonjour a tous,
je voulais faire en sorte sur une de mes applications, de ne pouvoir imprimer que le contenu de la div nommé 'contenu', j'ai donc pour cela voulu utiliser

Code : Tout sélectionner

document.getElementById('contenu').print();
Mais bon, ca ne marche pas.
Donc je me tourne vers vous afin de réussir a trouver une idée, car la, je seche...
@+ et merci d'avance :)

Posté : 03 déc. 2006, 10:30
par Cyrano
Il faut te tourner vers les styles CSS. En faisant une feuille de style pour le media "print" dans laquelle tu joueras sur la propriété display des éléments que tu veux imprimer ou non.

Si tu as déjà une feuille de style, il faut indiquer le media "screen" de façon à éviter tout conflit avec la feuille de style d'impression. Tu auras donc dans ton en-tête HTML quelque chose comme :

Code : Tout sélectionner

<link rel="stylesheet" type="text/css" href="./styles/monstyle1.css" media="screen" /> <link rel="stylesheet" type="text/css" href="./styles/monstyle2.css" media="print" />
Et ensuite ta feuille de style d'impression ressemblera par exemple à ceci :

Code : Tout sélectionner

/* On masque tous les éléments de la page */ body * { display: none; } /* On affiche le bloc div qu'on veut imprimer, comme c'est après le masquage des éléments de body, ça prime pour cet élément. */ div#identifiant { display: block; }
À tester, je n'ai pas essayé cette méthode express.

Posté : 03 déc. 2006, 11:29
par momox
Je vais regarder ca...
@+

Posté : 03 déc. 2006, 12:01
par momox
Le coup du body que l'on cache puis de la div qu'on fait réapparaitre ne fonctionne pas, donc j'ai opté pour une autre solution, a savoir le masquage des éléments non-désirés.
@+

Posté : 03 déc. 2006, 12:34
par Cyrano
[Résolu] :?:

Posté : 03 déc. 2006, 13:14
par momox
Après deux-trois tests que je viens de finir, oui, c'est résolu :)
@+