Imprimer une zone d'une page web ii

Soyez le premier à donner votre avis sur cette source.

Snippet vu 38 205 fois - Téléchargée 29 fois

Contenu du snippet

(amélioration du script IMPRIMER UNE ZONE DANS UNE PAGE WEB déjà publié)

Le script permet de sélectionner le contenu d'une zone afin de le charger dans une nouvelle fenêtre pour impression. L'ouverture de la fenêtre d'impression est déclenchée par une action sur un bouton "Imprimer cette page".

Placer le script dans la zone à imprimer, par exemple une cellule de tableau ou un div.

Ce script est compatible DOM et a été testé avec IE5+, Mozilla 1.7.3, Opera 7.54, Nestcape 6 sous Windows.
Un test interdit l'affichage du bouton 'Imprimer cette page" avec les navigateurs anciens comme Netscape 4 et Internet Explorer 4

Source / Exemple :


<script language="javascript">
// ******************************************************************
// Impression d'une zone DOM: IE5+ Mozilla NN6 Win
// pascal.itos@wanadoo.fr
// http://www.dev35.com
// ******************************************************************
function PSR_imprimer () {
	var PSR_f1 = null;
	var PSR_content=document.getElementById('PSR_print').parentNode.innerHTML;
	var PSR_title=document.getElementsByTagName('title')[0].innerText;
	if (PSR_f1) {if(!PSR_f1.closed) PSR_f1.close();}
	PSR_f1 = window.open ('',"PSR_f1", "height=500,width=600,menubar=yes,scrollbars=yes,resizable=yes,,left=10,top=10");  ;
	PSR_f1.document.open();
	PSR_f1.document.write("<html><head><title>" + PSR_title + "</title></head><body bgcolor='#ffffff'>"+PSR_content+"</body></html>");
	PSR_f1.document.close();
	PSR_f1.document.getElementById('PSR_print').style.visibility='hidden';
	PSR_f1.focus();
}
if ( window.name != "PSR_f1" && document.body.parentNode ) {
  document.write ("<div align='right' id='PSR_print'><input  onclick='PSR_imprimer();' type='button'  style='font-family:arial; font-size:11px' value='Imprimer cette page'></div>");
}
</script>

Conclusion :


Il existe un petit problème avec Nestcape 6,
le titre de la nouvelle fenêtre n'est pas correctement recopié.
A voir un jour...

A voir également

Ajouter un commentaire Commentaires
Messages postés
22
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
6 novembre 2009

Bonjour, avant j'utilisais ce genre de script, plus maintenant. Je préfère utiliser les "feuille de style CSS pour l'impression" soit l'utilisation de media="print" dans la ligne d'appel à une feuille CSS <link rel="stylesheet" type="text/css" href="toto.css" media="print">
voici deux références simple en français :
http://www.alsacreations.com/tuto/lire/586-feuille-style-css-print-impression.html
http://www.pompage.net/pompe/impression/
Messages postés
1
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
18 août 2009

merci bcp pour ce script il fonction tres bien sur mozilla mais je rencontre un probleme en utilisant IE ,il sagit du bouton "imprimer cette page" qui s'affiche sur la page a imprimer
Y a t'il une solution? et merci de votre aide.
Messages postés
9
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
12 mai 2009

votre script ma aider
Merci
Messages postés
2
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
30 décembre 2008

bonjour
j'ai essayé d'utiliser ton script mais je rencontre quelques problèmes. Actuellement j'ai mis le script à la fin de ma page et il imprime toute la page. J'aimerai qu'il n'imprime que mon deuxième tableau, et sans mon menu de haut de page.
peux tu m'aider svp
Messages postés
1
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
2 mars 2008

Bonjour,

Ce script fonctionne très bien,mais malgrès tout, j'ai un bug:
Je l'utilise pour imprimer une table dans laquelle il y a d'autres tables, et dans l'une de celles-ci, un formulaire.

Sur I.E., l'impression contient bien les valeurs entrées dans le formulaire, et c'est impec. Mais avec Firefox, ces valeurs ne sont pas reproduites.

Y a t'il une solution?
Merci de votre aide.
Afficher les 43 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.