webForumDet fria alternativet

Skriva ut ett dokument

ASP

6 svar · 395 visningar · startad av Jaan

Medlem sedan feb. 200340 inlägg
Frågan#1

Hej! :)

Jag vill göra en sida där användaren väljer ett dokument och trycker på Submit, då ska dokumentet skrivas ut på en skrivarkö på servern (inte klienten).

Vad jag inte vet är; hur skriver man ut ett dokument via ASP?

Medlem sedan mars 20007 896 inlägg
#2

Via en ActiveX-komponent. Om det ens går då.

Medlem sedan juni 20022 599 inlägg
#3

Sen beror det ju helt på vad för sorts dokument det är. Om du kan dumpa det som en ren textfil och inte har några krav på formateringen så kunde du ju experimentera med nåt sånt här:

<%
'Skapa först dintextfil.txt mha fso.
'Skicka den sen till skrivaren.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec "cmd /C type dintextfil.txt > prn"
%>

Skulle kunna funka, har aldrig provat.

Medlem sedan feb. 200340 inlägg
#4

Det måste gå att skriva ut all sorter av dokument...word, text mm.

Medlem sedan juni 20022 599 inlägg
#5

Alltså att skriva ut alla sorters dokument på ett och samma sätt kommer du aldrig att lyckas med eftersom det inte finns en applikation som förstår alla dokumenttyper.

Vill du skriva ut ett Word-dokument så borde du kunna använda Office-komponenterna (ifall de finns installerade).

<%
    set myApp = Server.CreateObject("Word.Application")
    Set myDoc = myApp.Documents.Open("<sökväg>\document.doc")
    myDoc.PrintOut ..
%>

Vill du skriva ut en PDF så behöver du nån Acrobat-komponent, osv ..

Sen tillkommer eventuellt problem med ifall IUSR_DATOR har rätt till skrivaren, så du tvingas kanske köra sidan som en annan användare?

En bättre (och smartare) lösning är nog också att skriva en NT-service som sköter själva printandet och låta ASP-sidorna bara "ge order" till den. Då försvinner eventuella problem med rättigheter.

Vet inte mycket mer än så här, som sagt, eftersom jag aldrig provat.

Medlem sedan feb. 200340 inlägg
#6

Vilken typ av dokument det är spelar ingen roll, jag vill bara lägga dokumentet på skrivarkön. Ungefär som när du skriver ut vilket dokument som helst. Och vad som händer när dokumentet kommer till skrivaren är orilivant i detta fallet, jag har en annan applikation som tar över där. ;)

En fundering jag har är att skapa en dll som jag använder genom ASP, antagligen i VB.

Medlem sedan juni 20022 599 inlägg
#7

Vilken typ av dokument det är spelar ingen roll, jag vill bara lägga dokumentet på skrivarkön. Ungefär som när du skriver ut vilket dokument som helst

OK? Där loosade du mig lite .. För att öht placera dokumentet i skrivarkön så måste du väl köra det genom en applikation som begriper hur man printar just den dokumenttypen och då spelar det väl stor roll vad det är för sorts dokument?

En fundering jag har är att skapa en dll som jag använder genom ASP, antagligen i VB.

Ja. Ett tips att testa kan ju vara att bara wrappa:

ShellExecute vbNull, "print", "dittdokument", vbNullString, "", SW_HIDE

för att skriva ut "dittdokument" via den associerade applikationen. Men jag är väldigt skeptisk vad gäller rättigheter och sånt. Tror nog mer på en NT-service som bara tar emot filnamnet och sen sköter resten.

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)