Impression d'une page html

Résolu
Panshu Messages postés 34 Statut Membre -  
arthezius Messages postés 3756 Statut Membre -
Salut tout le monde,

J'ai un bout de code javascript qui permet d'imprimer via un bouton la page html consultée.
Je passe par la fonction window.print() ;
Quand j'essaie d'imprimer les documents en question, toutes mes div composant mes cadres disparaissent.

En gros, y'a que le texte.

Est-ce que c'est spécifique à la fonction ? Ou bien j'dois changer le code pour que mes cadres apparaissent ? Merci d'avance.

2 réponses

  1. KleinSeb
     
    Le mieux serait d'utiliser un fichier .css dans lequel tu formates tes div. Evites les
    <div style="width: 50%;">


    Puis entre tes balises head tu utilises media="all":
    <link rel="stylesheet" type="text/css" media="all" href="ton_fichier.css">


    Tu peux aussi utiliser un fichier css rien que pour l'impression, si tu veux avoir un aspect different à l'impression:
    <link rel="stylesheet" type="text/css" media="print" href="ton_fichier_print.css">
    0
  2. Panshu Messages postés 34 Statut Membre
     
    Est-ce qu'il y a moyen de faire autrement que de passer par un fichier .css ?
    Parce que chacune de mes divs est particulière : elles sont en position absolute et représente un bord d'un cadre avec un height ou un width d'1px (au final, j'ai un fichier php de plus de 500 lignes rien que pour le html).

    Ce serait un peu long. Mais bon, si j'ai pas l'choix..
    0
    1. arthezius Messages postés 3756 Statut Membre 475
       
      Par défaut, les navigateurs n'impriment pas tout ce qui est en background des différentes bloc de la page.
      Par exemple, dans Firefox, dans Fichier > Mise en page il y a une option qui permet de régler ça.
      Peux-tu nous mettre pour exemple, le code CSS d'un DIV concerné?
      0
    2. Panshu Messages postés 34 Statut Membre
       
      Problème réglé, merci arthezius !
      J'ai mis l'option "imprimer le fond de page" sous Firefox et le tout apparaît.

      J'mets quand même le code d'un Div, ça peut servir :

      <div style="position:absolute;left:407px;top:174px;width:341px;height:1px;z-index:2;"><table cellspacing=0 cellpadding=0 width=341>

      <tr class="l-2">
      <td height=1 width=341></td> </tr>

      </table></div>
      0
    3. arthezius Messages postés 3756 Statut Membre 475
       
      Si ton problème est résolu, n'oublie pas de modifier le statu comme tel (en haut).
      0