[Impression] Background-color impossible

Mammouth du PHP | 965 Messages

07 mars 2008, 19:13

Bonjour,

Etant sur l'impression des pages d'un site, j'utilise la fonction window.print() qui est censé imprimer la page je met dans cette page un boutton avec un onClick="javascript.window.print()".

Ce qui utilise la feuille de style @media_print suivante :

Code : Tout sélectionner

@media print { * { margin:0; padding:0; font-family: Arial, Helvetica, sans-serif; font-size:12px; } html, body { margin:0; padding:0; width:17cm; height:26cm; -zoom:0.8; } #menu { display:none; } .gab{ margin-left:auto; margin-right:auto; } .gab_header { display:none; } .gab_spacer{ display:none; } .gab_menu{ display:none; } .footer { display:none; } .L_synth_print{ display:none; } #onglet{ display:none; } .Print{ display: none; } .L_synth_print{ display:none; } #Picto_retour{ display:none; } #Impression{ display:none; } #VoirDetail{ display:none; } .G_etat_divP1{ background-color:#EDF0DE; border-bottom:solid 1px #000000; } .G_etat_divP3{ background-color:#EDF0DE; border-bottom:solid 1px #000000; } @page { size: 21.0cm 29.7cm; margin: 0 1.5cm 1.5cm 1.5cm; } }
Toute les images et ce que je veux s'affiche bien sauf une chose : les background-color, aucun n'est present et quand je met dans les propriété de la feuille impression.css des couleurs et que j'imprime rien ne se fait.

Pourtant le reste des élements, si par exemple, je met des border s'affiche bien.

Une idée ?

ViPHP
ViPHP | 4674 Messages

10 mars 2008, 02:18

Bonsoir,

l'impression des arrières-plans est laissé au navigateur, i.e. c'est le navigateur qui décide tout seul, ou en fonction de ses options (si ma mémoire est bonne).

Pourquoi utiliser Javascript pour imprimer une page ? Tu peux utiliser :

Code : Tout sélectionner

<link type="text/css" href="Css/Print.css" rel="stylesheet" media="print" />
par exemple. Et l'utilisateur décide d'imprimer ou pas depuis le menu prévu à ce doux effet.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 965 Messages

12 mars 2008, 10:53

Bonsoir,

l'impression des arrières-plans est laissé au navigateur, i.e. c'est le navigateur qui décide tout seul, ou en fonction de ses options (si ma mémoire est bonne).

Pourquoi utiliser Javascript pour imprimer une page ? Tu peux utiliser :

Code : Tout sélectionner

<link type="text/css" href="Css/Print.css" rel="stylesheet" media="print" />
par exemple. Et l'utilisateur décide d'imprimer ou pas depuis le menu prévu à ce doux effet.
puisque j'ai besoin d'avoir une partie seulement de la page a imprimer je passe par une feuille de style.

ViPHP
ViPHP | 4674 Messages

12 mars 2008, 17:54

En général, on supprime le bandeau, l'en-tête, le menu etc. dans la feuille CSS destinée à l'impression, pour que l'utilisateur n'imprime pas des parties inutiles.
Tu peux jeter un œil sur la feuille de style print de Hoa.

On tentera au passage d'alléger la page en couleur pour ne pas utiliser trop d'encre, donc ajouter des backgrounds ne va pas vers cette optique.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 965 Messages

13 mars 2008, 11:04

En général, on supprime le bandeau, l'en-tête, le menu etc. dans la feuille CSS destinée à l'impression, pour que l'utilisateur n'imprime pas des parties inutiles.
Tu peux jeter un œil sur la feuille de style print de Hoa.

On tentera au passage d'alléger la page en couleur pour ne pas utiliser trop d'encre, donc ajouter des backgrounds ne va pas vers cette optique.
Pour la feuille de style, je l'utilise de manière a supprimer les éléments dont je n'ai pas besoin comme le header ou le footer, mais j'ai besoin de garder les couleurs de background, pour qu'a l'impression du tableau les lignes soient bien différenciées. Car en supprimant les background je me retrouve avec des tableaux beaucoup moins lisible.

J'utilise en fait jQuery et le tablesorter pour avoir les tri tableau et les couleurs une ligne sur deux, de cette manière le tableau est beaucoup plus lisible a l'écran, mais a l'impression c'est déjà moins ça.

Invité
Invité n'ayant pas de compte PHPfrance

24 sept. 2008, 14:46

sous ie : outils -> options internet -> avancé -> imprimer les images et les couleurs d'arrière plan