Jag har läst mig till att det går att styra utskrifter med CSS. Vet dock fortfarande inte riktigt hur det fungerar men tänkte försöka lära mig.
Fråga: Går det att skriva ut innehållet i en <div> ?
tex:
<html>
<body>
Det var en gång en liten text som inte skulle skrivas ut.
<div id="test">
Det var en gång en text som vi ville skriva ut.
</div>
Inte heller mig vill ni se...
</body>
Du kan formatera och skriva ut vad du vill och utesluta vad du vill från utskriften. Allt du behöver är en speciell stilmall för "print":
<link href="print.css" rel="stylesheet" type="text/css" media="print" />
Det du INTE vill ska synas ger du stilen: display:none, dvs t.ex.:
#photos {
display:none;
}
Sen formaterar du det du vill ha på vanligt sätt, men kan ju använda "points" som mått istället för web-baserade mått.
OBS: Du kan testa dina försök genom att "printa" ut som PDF från webbläsaren. Men använd INTE Gecko-baserade läsare (Firefox, Camino) eftersom dom brukar krångla och klippa av sidorna vid utskrift (om du webbsida kräver fler än en A4-sida i utskrift, så blir det bara en i alla fall).
PS: I ditt exempel måste du antagligen först lägga in den "lösa" texten i nån tag (p eller en div eller nåt) för att kunna dölja den. Du formaterar i så fall alltså själva taggen...
Jag vet inte om det går dölja allt i body, och sen få #test att visas. Men ifall Det ser ut så här:
<div id="pumpa">Det var en gång en liten text som inte skulle skrivas ut.</div>
<div id="test">Det var en gång en text som vi ville skriva ut.</div>
<div id="froe">Inte heller mig vill ni se...</div>
Nu har jag redan en stor sida med en massa div etc. Försökte mig på en annan approach och den lockar lite om jag inte väljer att göra om sidan helt.
<input type="button" onclick="printDivContent()">
bla bla bla
<div id="printMe">
Stor tabell med formatering...
z/div>
bla bla
<script>
function printDivContent()
{
var a = window.open('','','width=800,height=600,scrollbars=yes,resizable=yes');
a.document.open("text/html");
a.document.write('<html><head><link rel="stylesheet" href="/eventControl/_design/_global_print.css" type="text/css"></head><body>');
a.document.write(document.getElementById('printMe').innerHTML);
a.document.write('</body></html>');
a.document.close();
a.print();
}
</script>
Ovan fungerar riktigt bra. Tyvärr så är tabellen bredare än vad som normalt syns på en stående A4 sida. Letade lite på forumet och det verkade som att det inte var möjligt att tvinga utskriften i "landscape" istället för stående?!