Avatar billede Slettet bruger
10. september 2002 - 09:35 Der er 22 kommentarer og
1 løsning

Problemer med @page og udskrift

Hej!

Mit simple problem er at jeg ikke kan få margin osv til at virke, så jeg kan styre det under udskrift.

Det her virker ikke:

@page {
  margin: 10cm;
}

Og hvorfor dog ikke det? Det burde være simpelt...

Jeg har prøvet det i IE6 på PC
Avatar billede dmcn Praktikant
10. september 2002 - 09:41 #1
Umiddelbart tror jeg ikke CSS fatter cm som mål. Har du prøvet med px?
Avatar billede Slettet bruger
10. september 2002 - 09:58 #2
Det dutter heller ikke....
Avatar billede Slettet bruger
10. september 2002 - 10:03 #3
Måske er det fordi jeg tester lokalt? :(
Avatar billede jakoba Nybegynder
10. september 2002 - 10:22 #4
hvor har du fundet mediatypen @page ?
den er ikke på http://www.w3schools.com/css/css_mediatypes.asp
Avatar billede pelkjaer Nybegynder
10. september 2002 - 10:36 #5
http://www.w3.org/TR/REC-CSS2/page.html#page-box

Jeg forstår umiddelbart ikke hvorfor el_barto's eks ikke virker..
Avatar billede pelkjaer Nybegynder
10. september 2002 - 10:48 #6
En anden forklaring på dit problem kunne være indholdet du vil printe.

Metoden her virker kun på block-level elementer - <div></div> - <table></table>

Men ikke på <span></span> og andre inline elementer.
Avatar billede Slettet bruger
10. september 2002 - 11:58 #7
Her er hele mit stylesheet, og der er ikke noget der ligger inde i <span> ....


<STYLE>

BODY {
    FONT-SIZE: 10px; FONT-FAMILY: verdana;
}
TABLE,TR,TD {
    FONT-SIZE: 10px; FONT-FAMILY: verdana;
}
<b>A:link {
    COLOR: #31659C; TEXT-DECORATION: none;
}
A:active {
    COLOR: #639ACE; TEXT-DECORATION: underline;
}

A:visited {
    COLOR: #31659C; TEXT-DECORATION: none;
}
A:hover {
    COLOR: #639ACE; TEXT-DECORATION: underline;
}

A.white:link {
color: white;
TEXT-DECORATION: none;
}

A.white:active {
color: white;
TEXT-DECORATION: underline;
}

A.white:visited {
color: white;
TEXT-DECORATION: none;
}

A.white:hover {
color: #83B2DE;
TEXT-DECORATION: underline;
}

FORM {
display:inline;
}

option , checkbox , button , textarea, input {
font-family: Verdana, Arial, Tahoma, sans-serif; font-size: 10px; color: #000000; border:1px solid #31659C;
height:18px;
}

ul
  {
  list-style-type: square;
  margin-left: 10;
  padding-left: 1em;
  }
li
  {
  margin: 2;
  padding: 0;
  list-style: url(billeder/dot.gif) square;
  }

@page { size : portrait; margin : 0in }

 
</STYLE>
Avatar billede Slettet bruger
10. september 2002 - 11:59 #8
ok... der sneg sig lige en <b> ind et sted...men det virker stadig ikke ;)
Avatar billede knudgert Nybegynder
10. september 2002 - 20:37 #9
@page { size : portrait}

er ikke understøttet i andre browsere end Opera 6.x
Avatar billede Slettet bruger
10. september 2002 - 20:46 #10
nej det er muligt... men det ændrer desværre ikke på at margin indstillingerne ikke virker.
Avatar billede knudgert Nybegynder
11. september 2002 - 00:50 #11
Hvis du sætter margin @page, så er det sandsynligt at det heller ikke virker i IE f.eks.

Kan du ikke sætte margin på <body> eller en <div>?
Avatar billede Slettet bruger
11. september 2002 - 08:36 #12
Altså...ifølge http://www.aboutbabette.com/css/media.html understøtter IE tingene fint fra v. 4.0 og opefter.

Dette virker også fint:

<style>

@media print {
body {
font-weight:bold;
margin: 2in;
}
}


</style>

Problemet opstår når man gerne vil printe tættere på kanten.

Jeg kan åbenbart godt flytte udskriften ind midt på siden, men ikke længere ud mod kanten.
Avatar billede pelkjaer Nybegynder
11. september 2002 - 09:56 #13
Nåhh..det er din printer den er gal med så, tror du ikke? En alm. A4 printer kan ikke printe helt ud til margenen :)
Avatar billede knudgert Nybegynder
12. september 2002 - 01:44 #14
Ja @media print virker fint, men ikke @page.
Avatar billede Slettet bruger
12. september 2002 - 07:45 #15
Jeg fandt aldrig ud af det, men jeg kan manuelt sætte margin ned til 0 i printerindstillingerne, så kan jeg printe næsten til kanten, pånær 5 mm.

Hvorfor man så ikke kan sætte den ned via CSS er mig en gåde. Der kommer konsekvent 3 cm margin hele vejen rundt.

Jeg løste dette ved at skjule menuer osv ved udskrift.

@media print {

body,table,tr,td {
    width: auto;
    border: 0;
    margin: 0 0;
    padding: 0;
    float: none !important;

    }
   
#menu {
    display: none;
    }

#skjult {
    display: block;
    }

}

Så kunne jeg også flytte logoet over i højre side ved udskrift. Men hvis nogen har løsningen på det oprindelige problem er jeg stadig interesseret.
Avatar billede osaka_san Nybegynder
12. september 2002 - 18:47 #16
@page er ikke understøttet i de fleste browsere

http://www.westciv.com/style_master/academy/browser_support/printing.html
Avatar billede Slettet bruger
12. september 2002 - 20:32 #17
ok...men @media print kan heller ikke lave den sk*** margin ;)
Avatar billede knudgert Nybegynder
12. september 2002 - 22:38 #18
Jeg har stadig ikke rigtig fundet ud af, hvad det er du vil, emn er det ikke noget á la dette?

<style type="text/css">
<!--
@media screen {
body    {margin: 0}

}
@media print {
body    {margin: 10cm}
}
-->
</style>
Avatar billede Slettet bruger
13. september 2002 - 08:01 #19
Jo, problemet er bare at det ikke virker, når jeg sætter min margin til 0cm.

Stiller jeg manuelt min printer's margin til f.eks. 3 mm, kommer teksten næsten til kant.

Sætter jeg margin til 0cm, 0mm, eller alle andre nul-størrelser, får jeg en ganske almindelig standard udskrift.

Jeg vil altså printe så tæt til kanten som muligt.

Problemet's rod er at min side passer fint til skærmen, men når man printer klippes der lige 1 cm af i højre side. Indstiller jeg min printer manuelt kan dette problem løses, men jeg vil have at brugeren ikke skal til at rode med printeropsætning.
Avatar billede osaka_san Nybegynder
13. september 2002 - 09:06 #20
Hvorfor ikke hellere tilpasse sidens bredde generelt i stedet for i et print stylesheet?

Som regel kan du ikke være sikker på at brugerensprinter kan klare en printmargin på et par mm. I hvert tilfælde ikke på ældre printere.

Så en mere fail safe løsning vil nok være at lave et print stylesheet der formaterer siden så den kan være der med en "standard" margin?

Mvh
Gensmann
Avatar billede Slettet bruger
13. september 2002 - 17:01 #21
Det er også det jeg har gjort. Det løser mit problem nu, men fremover vil jeg da gerne have margin til at være mindre på udskrifter.

På min Lexmark Z11 til 299 kr kan jeg printe en del tættere på kanten end de 2-3 cm der er standard.

Hvorfor ikke udnytte dette? Det er vel de færreste der har en ringere printer end mig ;)

Det jeg efterspørger er om nogen af jer kan få min printer til at printe tæt på kanten gennem CSS. Kan det ikke lade sig gøre er det oK:

Men det bør det kunne, da jeg selv kan indstille min printer til det.
Avatar billede osaka_san Nybegynder
14. september 2002 - 13:01 #22
Fordi en printer til 299 kr kan er det ikke nøvendigvis sikkert at en dyrer printer kan.

Jeg har set et ganske pænt udvalg af dyre laserprinter i 5-10.000 kr's klassen der ikke printer mere end en cm til kant. ;-)

Men selvfølgelig nyere printere bliver bedre til et.

Mvh
Gensmann
Avatar billede Slettet bruger
15. september 2002 - 15:06 #23
hmm :)

Men det kan da være du har ret. Jeg glæder mig bare over min gode printer ;)

Så lukker jeg for denne gang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester