Avatar billede fabritius Nybegynder
12. april 2005 - 11:10 Der er 12 kommentarer og
1 løsning

Undgå dialogbox ved print

Hejsa,

Jeg er ved at udvikle en kioskløsning, og der skal kunne udskrives nogle sider fra den på en printer tilsluttet computeren. Brugeren kan kun bruge computeren via en touchscreen, og printeren er sluttet direkte til maskinen.

Min printfuntion ser sådan ud:

onClick="java script:window.print()"

Desværre popper der en dialogbox op, hvor brugeren kan vælge printer. Da de ikke skal kunne andet end at klikke rundt på den hjemmeside der kører på computeren ønsker jeg ikke dette. Hvordan undgår jeg den dialogbox?

Alternative løsninger som ændringer i regdatabasen og lignende vil også være brugbare.

/Claus
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 11:14 #1
Det mener jeg ikke umiddelbart man kan undgå, i hvert fald ikke blot vha. javascript.
Hvis man kan, vil jeg gerne vide det, så jeg er lige med på en lytter.
Avatar billede fennec Nybegynder
12. april 2005 - 11:16 #2
Du skal have fat i et printerkomponent. Bruger selv ScriptX fra Meadroid.

www.meadroid.com/scriptx/
Avatar billede fabritius Nybegynder
12. april 2005 - 11:20 #3
Jeg prøver at tage et kig på ScriptX.
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 11:20 #4
Det er meget nice, men 1$ om dagen er ca. 1700 spir om året med nuværende kurs. Det er måske lige i overkanten for en komponent.
Avatar billede fabritius Nybegynder
12. april 2005 - 11:22 #5
"A basic subset of ScriptX printing functionality is available at no charge"

Mon ikke det kan klares til ovenstående pris, eller misforstår jeg noget?
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 11:24 #6
sorry, den missede jeg! Så skal min kommentar direkte i skralderen:)
Avatar billede fennec Nybegynder
12. april 2005 - 11:27 #7
Jeg kan ikke huske om basis udgaven tillader print uden PrintBox, men det er bare at hente den og prøve, ellers står det sikkert et sted i dokumentationen :o)

Du skal være opmærksom på at det kræver at komponentet bliver installeret på klienten, og derfor er det ikke en løsning der er brugbar til "offentlige" sider, da der ikke er mange private, der vil vælge at gøre det.

I dette tilfælde lyder det dog som om du også styrre hvilke klienter, der har adgang til sitet (intranet), og det er derfor ikke et problem at sikre at komponenten bliver installeret.
Avatar billede fabritius Nybegynder
12. april 2005 - 11:32 #8
Jeg har hentet det, og nu skal jeg have tygget mig igennem dokumentationen, så jeg kan få det sat op. Og ja, det er en side der kun skal køre på to specifikke maskiner som står i huset. Altså betyder det ikke noget, at det ikke vil være brugbart andre steder.

Kan du give et par hints om hvad jeg skal lede efter i dokumentationen ville jeg være taknemmelig, og så har du selvfølgelig fortjent de 60 point.
Avatar billede fennec Nybegynder
12. april 2005 - 11:36 #9
Det lader til at du kan printe uden printBox. De skriver i hvertfald intet om, at det ikke er muligt under print() funktionens beskrivelse.

http://www.meadroid.com/scriptx/docs/printdoc.htm
http://www.meadroid.com/scriptx/docs/printdoc.htm#clientSideBasic
http://www.meadroid.com/scriptx/docs/printdoc.htm#Print
Avatar billede fabritius Nybegynder
12. april 2005 - 12:04 #10
Det fungerer tilsyneladende fint. Jeg synes dog at siden kører noget langsommere end før. Har du nogen idé til hvad det kan skyldes?

Jeg har kopieret følgende ind i <head>:

<!-- special style sheet for printing -->
<style media="print">
.noprint { display: none }
</style>

Og nedestående er i <body>

<!-- MeadCo Security Manager - using evaluation license -->
<object viewastext style="display:none"
classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
codebase="smsx.cab#Version=6,1,432,1">
  <param name="GUID" value="{43F98F63-1171-4F66-A648-BFDEC452D3FE}">
  <param name="Path" value="sxlic.mlf">
  <param name="Revision" value="0">
</object>

<!-- MeadCo ScriptX -->
<object id="factory" viewastext style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
</object>

<script defer>
function window.onload() {
  factory.printing.header = " "
  factory.printing.footer = " "
  factory.printing.portrait = true
  idPrint.disabled = false; // enable UI button
}

function Print() {
  factory.printing.Print(false); // no prompt
}
</script>

Printkommandoen ser sådan ud:

<a href="print_redirect.asp" onClick="Print()" style="text-decoration: none">
Avatar billede fennec Nybegynder
12. april 2005 - 12:15 #11
Jeg har ikke mærket at siden blev langsommere. Prøv at fjerne sikkerheds delen af scriptet. Med basis udgaven burde den ikke bruge den del alligevel.

Dette burde ikke være nødvendig.
<!-- MeadCo Security Manager - using evaluation license -->
<object viewastext style="display:none"
classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
codebase="smsx.cab#Version=6,1,432,1">
  <param name="GUID" value="{43F98F63-1171-4F66-A648-BFDEC452D3FE}">
  <param name="Path" value="sxlic.mlf">
  <param name="Revision" value="0">
</object>
Avatar billede fabritius Nybegynder
12. april 2005 - 12:23 #12
Det klarede problemet. Nu kører det helt som det skal. Mange tak for hjælpen :)

Du har også lige fået lidt god karma.
Avatar billede fennec Nybegynder
12. april 2005 - 12:30 #13
Så siger jeg da tak.
.o) <-- One Eyed Jack
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