Hmm... Har en funktion för att hämta data från en databas och sedan skriva ut denna på papper. Används vid utskick med vanlig post.
Men jag funderar på om det inte finns bättre lösningar än den jag nu använder mig av.
Finns det något sätt att skapa ett dokument som är justerat enligt en viss mall och som dessutom är x antal sidor långt?
Idag använder jag mig av nedan. Problemet med denna är att jag behöver trycka på print lika många gånger som det finns användare i databasen. Ganska drygt. Dessutom får vi nu för tiden problem med popupblockerare.
<SCRIPT LANGUAGE="javascript">
// Skriv ut adresserna en och en
for (i=0; i < myClientArray.length; i++){
egenskaper="toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
nytt_fonster = window.open("","tmpWindow",egenskaper);
nytt_fonster.document.open();
nytt_fonster.document.write('<!--- Passar A5 fönsterkuvert --->')
nytt_fonster.document.write('<table cellpadding=10 style="position:absolute; left:365px; top:60px; border:1px dotted dddddd; width:280; height:135"><td>')
nytt_fonster.document.write( myClientArray[i] +'<br>')
nytt_fonster.document.write(' </td></table> ')
nytt_fonster.print();
}
nytt_fonster.close();
document.location.href="personalfunktioner_start.asp"
</script>
Några tips? :moose
Koden lägger allt på en och samma sida i IE, men de skrivs ut på varsin sida med hjälp av attributet page-break-after: always;. Detta ger färre utskriftsdialoger.
I övrigt så är position: absolute och left/top utbytta mot margin-left och margin-top, för att kunna användas ihop med page-break-after.
<script type="text/javascript">
myClientArray=["fooooo","barbar","och sen en sista!"]
for (i=0; i < myClientArray.length; i++){
printstr = '<!--- Passar A5 fönsterkuvert --->'+
'<table cellpadding=10 style="margin-left:365px; margin-top: 60px; border:1px dotted dddddd; width:280; height:135; ' + ((i < myClientArray.length-1)?'page-break-after: always;':'') + '"><td>'+
myClientArray[i] +'<br>'+
' </td></table> ';
document.write(printstr);
}
window.onload=function(){
window.print();
// Om personalfunktioner_start.asp skrivs ut istället för
// adresserna, avkommentera nästa rad!
//alert("Klicka ok när utskriften har börjat");
document.location.href="personalfunktioner_start.asp";
}
</script>
Låter ju för bra för att vara sant :) :)
Måste testa...
Det fungerar faktiskt. Justeringen blir fel med det antar jag man kan justera genom att ändra koordinaterna.
Kan du förklara lite mer hur det igentligen fungerar. Finns page-break i CSS ?
Det hade varit grymt sexigt om man kunde göra ovan fast välja att skapa ett worddokument istället för att skicka det till en skrivare. Antar att det inte är möjligt ?!
Det fanns gott om information bara jag sökte på page-break.
Simplast tyckte jag det var om jag la allt jag ville skriva ut i en:
<div style="page-break-after: always;">... </div>
Klockrent :) Superglad Mattias.