Avatar billede hemberg Forsker
14. juli 2005 - 23:06 Der er 15 kommentarer og
2 løsninger

Printning & ASP

Hej med jer.

Har lige tre hurtige som en superprogramør nemt kan svare på.

Jeg henter et recordset ud af en accessdb bestående af 5 records

fx

Lisa,maria,liz,Leila,Tove.

spgsml:

1) Findes der en asp kommando som gør at en bruger ikke selv behøver at klikke på udskriv-knappen i IE. Altså som bare starter udskriften.

2) Hvordan indsætter man en (NY SIDE) kommando så navnene bliver udskrivet på hver deres stykke papir.

3) Hvordan fjernes Sidehoved og sidefod fra udskriften. Sådan så der kun kommer det på papiret som jeg ber' om.

Det var såmænd det hele !!
Avatar billede netro Nybegynder
15. juli 2005 - 02:24 #1
1) Ikke i ASP, men du kan gøre det med Javascript. Brugeren skal dog bekræfte igen, for at udskrivningen starter.

<a href="#" onclick="window.print();return false">Udskriv</a>
Avatar billede netro Nybegynder
15. juli 2005 - 02:26 #2
2/3) Det skal brugeren selv indstille i print-prompten, du fremkalder med ovenstående.
Avatar billede busschou Praktikant
15. juli 2005 - 04:32 #3
1,2,3
ASP er et serverside sprog - kører på serveren
Hvis der skal udskrives på en brugers printer er det noget der sker på brugerens pc
Ergo kan du ikke benytte asp til det
Så det er mit svar til dit gylne spørgsmål ;o)
--
Nå det så er sagt vil jeg foreslå dig at skifte til javascript eller dhtml kategorien
Der findes en sjat spørgsmål omkring det at lave en "printer venlig" version af sine sider
Uden at have set dem alle, kan jeg ikke forestille mig andet end at du i javascript godt kan kode dig ud af alle tre punkter!
Avatar billede netro Nybegynder
15. juli 2005 - 04:35 #4
Ja, så må mit jo næsten også være et svar!
Avatar billede netro Nybegynder
15. juli 2005 - 04:38 #5
Du behøver i øvrigt ikke at give mere end 30 points.
Avatar billede busschou Praktikant
15. juli 2005 - 04:44 #6
hehe det var nu ikke for at score 200 points!
Mener bare at det bør flyttes til en kategori som kan håndtere emnet :o)
Da man i javascript kan åbne vinduer med og uden alverdens features, så kan jeg bare heller ikke forestille mig andet end man også kan styre sidehoved/fod og andet i printning.
Tilsvarende kunne det ske at der fandtes et "newpage" tegn ligesom man har et linjeskift tegn
Og sidst men ikke mindst kan man også få javascript til automatisk at kalde sin print() funktion på en body onload eller andet, så brugeren ikke skal klikke på noget.
Om man kan slippe for selve print-promten ved jeg ikke
Men det er så derfor det vil være en fordel at flytte spørgsmålet til en kategori hvor der sidder en del hajer som sikkert ved mere om det ;)
Avatar billede netro Nybegynder
15. juli 2005 - 04:56 #7
Man kan jo lave det (som fx. Krak), hvor et nyt vindue åbner med en printervenlig version og udløser print-prompten i onLoad-eventen (som du nævner). Jeg kan dog ikke se, hvordan 2/3 skal løses med ren Javascript. Men jo, det får du sikkert svar på i den rigtige kategori.
Avatar billede busschou Praktikant
15. juli 2005 - 08:03 #8
i css2 findes der jo rent faktisk en page-break-before som kan sættes
Men om den så virker i nogen browsere endnu ved jeg ikke
Avatar billede fennec Nybegynder
15. juli 2005 - 08:22 #9
page-break virker fint sammen med IE, men det må næsten være en printer komando, så jeg kan kun forstille mig at det virker i alle browsere, hvis bare printeren understøtter det.

Det fungere sådan:

<STYLE>
    P { page-break-after: always }
</STYLE>

noget takst på en side.
<p></p>
noget takst på en ny side.
<p></p>
Og en trejde side.

side hoved og fod kan kun fjernes af brugeren selv eller ved hjælp af et komponent, som skal installeres hos brugeren. Jeg kender kun til ScriptX fra MeadCo:
www.meadroid.com/scriptx/

Den findes i en gratis udgave, som kan fjerne sidehoved og fod, samt starte et print uden printboxen kommer frem. Da komponentet skal installeres hos brugeren er det kun en løsning som er anvendelig til intranet sider, da de fleste brugere i dag IKKE vil installere den.
Avatar billede hemberg Forsker
15. juli 2005 - 14:26 #10
strSQL ="SELECT * FROM dxlog where QSL=-1 AND Dato=#" & Request.Form("dato") & "#"
Set rs = Conn.Execute(strSQL)
do
response.write "<div style='page-break-before:always;position:absolute;top:10;left:10;'>" & rs("call") & "</div>"
'<br clear=all style='page-break-before:always'>
rs.movenext
loop until rs.eof

Pagebreak virker men teksten står stadig på første side. Dvs. der er 8 sider. men de otte records står på første side. Hvorfor?
Avatar billede fennec Nybegynder
18. juli 2005 - 08:11 #11
fordi du har "position:absolute;top:10;left:10;". Når du har det med, bliver de ALLE placeret i pos 10,10 på første side. Position virker ikke pr print side.

Fjern den del og de kommer ud på hver deres side.
Avatar billede hemberg Forsker
24. juli 2005 - 23:41 #12
Problemet er bare at det der skal indsættes på siderne SKAL positioneres. Det er et must.... Hvad så ??
Avatar billede fennec Nybegynder
25. juli 2005 - 08:29 #13
Jeg ved ikke om det overhoved er muligt er lave en "position:absolute", som fungere pr print side. Eneste mulighed jeg ser er at lave en "position:relative" også flytte den til den rigtige plads.
Avatar billede hemberg Forsker
26. juli 2005 - 06:45 #14
Det må være en mulighed! Prøver lige at beskrive nærmere et eksempel: Man har fx. en DB. indeholdende en række navne. De skal printes ud på fx. fødelsdagskort. Det er jo ikke ligemeget hvor navnet står på fødselsdagskortet. Derfor må der indsættes nogle varialber et sted som kan positionere teksten samtidig med at hvert RS kommer ud på hver sit kort. Kender nogen èn løsning ???
Avatar billede fennec Nybegynder
26. juli 2005 - 08:13 #15
Som sagt skal du bare bruge relativ placering i stedet for absolut, så bliver elementet placeret ud fra hvor den er når den bliver oprettet.

<div style="page-break-after:always;position:relative;top:20;left:0;">et navn</div>
<div style="page-break-after:always;position:relative;top:20;left:0;">et navn</div>
<div style="page-break-after:always;position:relative;top:20;left:0;">et navn</div>
...
Avatar billede hemberg Forsker
03. august 2005 - 15:28 #16
OK Fennec. Smid lige et svar. I deler pointene imellem jer. Håber det er fair..
Avatar billede fennec Nybegynder
15. august 2005 - 08:21 #17
Nå dem fik jeg ikke nogen af. Sådan går det når man tager på ferie :o)
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
Kurser inden for grundlæggende programmering

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