Imposer une taille de page pour impression

Imposer une taille de page pour impression - HTML/CSS - Programmation

Marsh Posté le 06-06-2006 à 13:06:18    

Bonjour,
 
Je voudrais imprimer un formulaire. Celui-ci est contenu dans tableau. Lorsque je veux imprimer ce tabeau, il dépasse de ma page. J'ai beau réduire (ex: width="70%" ) ou définir un format de page et des marges d'impression par une CSS, rien n'y fait. J'ai même essayé d'imbriquer le tableau dans un autre tableau dont j'aurais contrôlé la dimension. J'ai aussi essayé d'imbriquer mon tableau dans un bloc (DIV) dont je réglais aussi la taille, mais rien ne se passe, mon tableau déborde toujours à l'aperçu avant impression. Ca le fait pour IE6 et Firefox 1.5.
 
Y aurait pas un moyen d'imposer la taille de ma page à imprimer par un zoom ou un autre truc dans le genre?
 
Merci

Reply

Marsh Posté le 06-06-2006 à 13:06:18   

Reply

Marsh Posté le 06-06-2006 à 13:22:13    

Hello,
 
On peut avoir un aperçu de ta feuille de style pour l'impression (media="print" ) ? ;)


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 06-06-2006 à 13:29:30    

sibelius a écrit :

Hello,
 
On peut avoir un aperçu de ta feuille de style pour l'impression (media="print" ) ? ;)


 
 
Salut, merci de ta réponse.
 
Voici ma feuille de style (elle est pas finie, hein...):
 

Code :
  1. @page {
  2. size:29.7cm 21cm;
  3. margin:1cm;
  4. }
  5. body {
  6. background-color:transparent;
  7. margin:0px 0px 0px 0px;
  8. width: 90%; /* Marche pas*/
  9. }
  10. /*Différents niveaux hiérarchiques*/
  11. h1 {
  12. font-family:verdana, sans-serif;
  13. font-size:80%;
  14. color:black;
  15. background-color:transparent;
  16. text-align:left;
  17. }
  18. h2 {
  19. font-family:verdana, sans-serif;
  20. font-size:80%;
  21. color:black;
  22. background-color:transparent;
  23. text-align:left;
  24. }
  25. h3 {
  26. font-family:verdana, sans-serif;
  27. font-size:80%;
  28. color:black;
  29. background-color:transparent;
  30. text-align:left;
  31. }
  32. p {
  33. font-family:verdana, sans-serif;
  34. font-size:80%;
  35. color:black;
  36. background-color:transparent;
  37. text-align:left;
  38. margin-left:0px;
  39. margin-right:0px;
  40. }
  41. li {
  42. font-family:verdana, sans-serif;
  43. font-size:80%;
  44. color:black;
  45. background-color:transparent;
  46. text-align:left;
  47. margin-left:0px;
  48. margin-right:0px;
  49. }
  50. a:link {
  51. font-family:verdana, sans-serif;
  52. font-size:80%;
  53. color:blue;
  54. background-color:#D1D1E1;
  55. text-decoration:underline;
  56. }
  57. a:visited {
  58. font-family:verdana, sans-serif;
  59. font-size:80%;
  60. color:blue;
  61. background-color:#D1D1E1;
  62. text-decoration:underline;
  63. }
  64. a:hover {
  65. font-family:verdana, sans-serif;
  66. font-size:80%;
  67. color:blue;
  68. background-color:#D1D1E1;
  69. text-decoration:underline;
  70. }
  71. table {
  72. /*border-color:black;*/
  73. border-style:solid;
  74. border-width:1px;
  75. background-color:transparent;
  76. border-collapse: collapse;
  77. }
  78. td {
  79. font-family:verdana, sans-serif;
  80. font-size:80%;
  81. text-align:left;
  82. background-color:transparent;
  83. border-color:black;
  84. border-style:solid;
  85. border-width:1px;
  86. }
  87. INPUT {
  88.      /*background-color:white;*/
  89.      font-size:12px;
  90.      font-family:arial;
  91. }
  92.      /*DEFINITION DES CLASSES*/
  93. .Info1 {
  94.      font-family: Arial;
  95.      font-weight: bold;
  96.      font-size:16px;
  97. }
  98. .Titre_gen {
  99.      border-style:solid;
  100.      background-color:white;
  101.      font-family: Arial;
  102.      font-weight: bold;
  103.      font-size:22px;
  104.      color:#000000;
  105. }
  106. .Titre_Table {
  107.      border-style:solid;
  108.      background-color:#D1D1E1;
  109.      font-weight: bold;
  110.      font-size:16px;
  111.      /*color:#00C0FF;*/
  112. }
  113. .Table_Entete {
  114.      border-style:solid;
  115.      background-color:#F5F5FF;
  116.      /*
  117.      font-family: Arial;
  118.      font-weight: bold;
  119.      font-color: navy;
  120.      font-size:14px;
  121.      */
  122.      /*color:#00C0FF;*/
  123. }
  124. .Table_Corps_infos {
  125.      border-style:solid;
  126.      background-color:#E0E0F6;
  127.      /*color:#00C0FF;*/
  128. }
  129. .Table_Corps_contenu {
  130.      border-style:solid;
  131.      background-color:#E0E0F6;
  132.      /*color:#00C0FF;*/
  133. }
  134. .TD_Entete {
  135.      font-family:Arial;
  136.      text-align:left;
  137.      background-color:transparent;
  138.      color:navy;
  139.      border-style:solid;
  140.      border-width:1px;
  141. }
  142. .TD_Corps1 {
  143.      font-family:Arial;
  144.      text-align:left;
  145.      /*empty-cells:collapse;*/
  146.      background-color:transparent;
  147.      border-color:black;
  148.      border-style:solid;
  149.      border-width:1px;
  150.      color:navy;
  151. }
  152. SELECT {
  153.      color:navy;
  154.      background-color:white;
  155.      font-size:10px;
  156.      font-family:arial;
  157. }

Reply

Marsh Posté le 06-06-2006 à 13:35:11    

En fait, je pense que tu ferais mieux de faire une feuille de style pour l'impression (print) plutôt que d'essayer d'utiliser des propriétés comme @page et size qui ne sont pas correctement prises en compte :
http://forum.alsacreations.com/top [...] 4&tid=1633


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 06-06-2006 à 13:41:38    

Mais ça va être la même chose de définir une nouvelle css, non? Comment faire pour que la nouvelle CSS soit prise en compte?
 
En fait si t'avais un exemple de CSS pour l'impression ça pourrait bien m'aider!
 
Merci

Reply

Marsh Posté le 06-06-2006 à 13:47:42    

En fait, une feuille de style pour l'impression est simplement une autre feuille de style (ex: print.css) que tu inclues de cette façon :

Code :
  1. <link type="text/css" rel="stylesheet" href="print.css" media="print" />


 
Tu y placeras les modifs qui doivent être prises en compte lors de l'impression.
 
Par exemple :  

Code :
  1. table {width: 70%}


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 06-06-2006 à 13:48:59    

Pour l'instant j'ai ajouté à ma CSS:
 
@media print {
  a {
    font-size: 10pt;
  }
  body {
    background-color:transparent;
    margin:0px 0px 0px 0px;
    width: 90%;
}
 
Et ça me fait toujours la même chose.
 
Je vois pas trop comment faire pour qu'il m'affiche la page sur une feuille A4 (pour l'instant il déborde sur la droite), mais je continue de chercher!

Reply

Marsh Posté le 06-06-2006 à 13:49:34    

Ok, donc c'est pas dans la même CSS. Merci, je vais essayer!

Reply

Marsh Posté le 06-06-2006 à 14:04:44    

Ca marche pas non plus. J'ai créé une CSS print comme tu m'as dit:
 

Code :
  1. .print {
  2.   width:"80%";
  3. }


 
Et dans mon formulaire, j'ai mis un TABLE général de classe print. Ce tableau général englobe tout le formulaire. Mais ça marche pas, j'affiche toujours la même page et pas 80% de sa largeur.

Message cité 2 fois
Message édité par PedroBD le 06-06-2006 à 14:05:35
Reply

Marsh Posté le 06-06-2006 à 14:14:41    

PedroBD a écrit :

Ca marche pas non plus. J'ai créé une CSS print comme tu m'as dit:
 

Code :
  1. .print {
  2.   width:"80%";
  3. }


 
Et dans mon formulaire, j'ai mis un TABLE général de classe print. Ce tableau général englobe tout le formulaire. Mais ça marche pas, j'affiche toujours la même page et pas 80% de sa largeur.


 
print est utilisé pour l'impression, pas à l'écran


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 06-06-2006 à 14:14:41   

Reply

Marsh Posté le 06-06-2006 à 14:17:40    

PedroBD a écrit :

Ca marche pas non plus. J'ai créé une CSS print comme tu m'as dit:
 

Code :
  1. .print {
  2.   width:"80%";
  3. }


 
Et dans mon formulaire, j'ai mis un TABLE général de classe print. Ce tableau général englobe tout le formulaire. Mais ça marche pas, j'affiche toujours la même page et pas 80% de sa largeur.


OK, dans ce cas, tu as certainement des cellules de largeur fixe et définies et dont le total est plus grand que la page.
En clair si l'ensemble de tes cellules fait 30cm de large, ça ne sert à rien de dire que ton tableau est censé faire 80%
Il faut revoir les tailles des cellules.


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 06-06-2006 à 14:25:43    

ok merci! Chose curieuse quand même, ton truc marche bien sous Firefox!


Message édité par PedroBD le 06-06-2006 à 14:32:15
Reply

Marsh Posté le 06-06-2006 à 14:57:47    

Bon j'ai vérifié mes cellules, je vois pas trop le bin's et en plus je comprends pas pourquoi ça marche bien sous Firefox

Reply

Marsh Posté le 06-06-2006 à 15:09:45    

jagstang a écrit :

print est utilisé pour l'impression, pas à l'écran


 
OK, il est utilisé pour un window.print() si je comprends bien. Tu aurais pas un exemple d'une CSS pour l'impression stp?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed