Avatar billede vraa Nybegynder
13. juni 2004 - 12:37 Der er 12 kommentarer og
1 løsning

window.print()

Jeg har et site som er centreret i vinduet. Når jeg så benytter window.print() funktionen udskrives kun halvdelen af sitet i højre siden på papiret. Venstre side er tom pga. af sitet er centereret.
Er der nogen måde at man kan formatere window.print() til at fokusere på den centrale del af vinduet i stedet for fra venstre mod højre?
Avatar billede roenving Novice
13. juni 2004 - 12:46 #1
Kunne du måske lave en printervenlig version ?-)

Eller med css lave style-properties om, når der printes ...

Hvis din side er opbygget med nogle div'er (eller andre containere, som styrer centraliseringen !-), kan disse properties jo ændres til venstre-align ved print:

@media print{
#container{
  left:0px;
  top:0px;
  text-align:left;
}
}
Avatar billede Slettet bruger
13. juni 2004 - 12:46 #2
nej, men du kunne lave et link som åbnede den ønskede side i et vindue hvor siden var venstre-stillet, altså i et udskriftsvenligt vindue. Dette er den approach som oftest bliver brugt.
Avatar billede roenving Novice
13. juni 2004 - 12:47 #3
-- og der skulle måske også være en: margin:0px; med i ovenstående, afhængig af din centreringsmetode !-)
Avatar billede Slettet bruger
13. juni 2004 - 12:47 #4
16 sekunder for sent på den, jeg er godt nok ved at være god til det her, hehe :-)
Avatar billede vraa Nybegynder
13. juni 2004 - 12:54 #5
Jeg har et udskrift side der åbnes med window.pop() men vil gerne undgå dette da siderne på sitet er bygget så foskelligt op at det bliver meget svært at lave en skabelon der kan samle data ens fra alle siderne. Derfor tænkte jeg om man kunne lave en formatering el. lign. af print() der f.eks. udskriver min hovedtabel. Så kan jeg nøjes med en knap på alle siderne som udsriver denne tabel med indhold.
Avatar billede roenving Novice
13. juni 2004 - 13:02 #6
Hvis vi nu kalder din tabel for minTabel, kan du lave følgende tilføjelse i dit stylesheet:

@media print{
  *{display:none;}
  #minTabel{display:block;}
  #minTabel *{display:;}
}

-- jeg ved ikke lige med den sidste linje, for jeg har ikke selv prøvet den udgave før, men jeg har set den præsenteret ...

-- ellers kan det være nødvendigt mere selektivt at skjule elementer, men som du kan se, fylder det ikke mange linjer css-kode !-)
Avatar billede vraa Nybegynder
13. juni 2004 - 13:05 #7
roenving>> Jeg har en div der styrer centraliseringen. Den har ID="headTB". Så har jeg en udskriv knap hvor jeg vil lave en window.open() med hele tabelen. Hvordan skal koden så se ud for at jeg blot skal klikke på denne knap og få en udskriftvenlig version?
Avatar billede roenving Novice
13. juni 2004 - 13:11 #8
Så skal du ikke gøre andet end at tilføje dette i html-filens header:

<style type="text/css">
@media print{
#headTB{
  left:0px;
  top:0px;
  text-align:left;
  margin:0px;
  }
}
</style>

Så sætter du bare window.print() på knappen, så styrer css resten !-)
Avatar billede vraa Nybegynder
13. juni 2004 - 13:33 #9
Det virker dæl'me roenving. ligger du ikke lige et svar?
Avatar billede roenving Novice
13. juni 2004 - 13:35 #10
-- og hvis du for eksempel har nogle artikler og så en tilmeldingsformular kan du også skjule de irrelevante elementer ved at tilføje f.eks. dette i media print-blokken:

form,form *{display:none;}
Avatar billede roenving Novice
13. juni 2004 - 13:35 #11
Velbekomme '-)
Avatar billede vraa Nybegynder
13. juni 2004 - 13:56 #12
Det har jeg nemlig også gjort. Fjernet enkelte elementer ved at definere dem med et id. Meget smart. Kan også anbefale dette link: http://www.alistapart.com/articles/goingtoprint/

Jeg takker for hjælpen :-)
Avatar billede roenving Novice
13. juni 2004 - 13:58 #13
-- og jeg takker for point ;~}
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