1
2Option Explicit
3
4Dim strSubmit 'Form中用来保存提交按钮的值
5Dim strPrinterPath 'Form中保存网络打印机路径的值
6Dim strUsername 'Form中用户名的值
7Dim strPassword 'Form中密码的值
8Dim strMessage 'Form打印内容的值
9Dim objFS 'VBScript中的文件系统对象
10Dim objWSHNet 'WSH中的网络对象
11Dim objPrinter '打印对象
12
13strSubmit = Request.Form("Submit")
1<html>
2<head>
3<meta content="Microsoft Visual Studio 6.0" name="GENERATOR"/>
4</head>
5<body>
6
If strSubmit = "" Then
1
2注意的是:
3由于这是演示,其中有关NT的帐号和密码都是使用了不加密的手段在ASP中传递的
4真正的运用中应该对该登录过程进行安全处理。
5<form action="ASPPrint.asp" id="form" method="POST" name="form">
6<table align="center" border="0" cellpadding="1" cellspacing="1" width="100%">
7<tr>
8<td align="right" nowrap="">网络打印机路径:</td>
9<td align="left" nowrap=""><input id="printerpath" name="printerpath" type="text" value="\\\< Domain >\< Printer >"/></td>
10</tr>
11<tr>
12<td align="right" nowrap="">登录帐号:</td>
13<td align="left" nowrap=""><input id="username" name="username" type="text" value="```
14 = strUsername
15```"/></td>
16</tr>
17<tr>
18<td align="right" nowrap="">登录口令:</td>
19<td align="left" nowrap=""><input id="password" name="password" type="password"/></td>
20</tr>
21<tr>
22<td align="right" nowrap="">请输入你想打印的文字:</td>
23<td align="left" nowrap=""><textarea cols="20" id="message" name="message" rows="2"></textarea></td>
24</tr>
25<tr>
26<td align="right" nowrap=""> </td>
27<td align="left" nowrap=""><input id="submit" name="submit" type="submit" value="Submit"/></td>
28</tr>
29</table>
30</form>
31
32当以上信息被提交后,就可以按照下面的代码进行打印了。
Else
' 从form中取得响应信息。
strPrinterPath = Request.Form("printerpath")
strUsername = Request.Form("username")
strPassword = Request.Form("password")
strMessage = Request.Form("message")
We will now use the VBScript FileSystemObject object and the WSH Network object. The Network object will
give us the methods we need to open a printer connection, and the FileSystemObject will allow us to stream our
output to the printer. We create these objects in the following code example:
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objWSHNet = CreateObject("WScript.Network")
' 使用WSH连接网络打印机
objWSHNet.AddPrinterConnection "LPT1", strPrinterPath, False, strUsername, strPassword
' 使用文件系统对象将打印设备作为一个文件使用
Set objPrinter = objFS.CreateTextFile("LPT1:", True)
' 给打印设备送出文本
objPrinter.Write(strMessage)
'关闭打印设备对象并进行错误陷阱处理
On Error Resume Next
objPrinter.Close
' 如果发生错误,关闭打印连接,并输出错误信息
If Err Then
Response.Write ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear
Else
' 操作成功,输出确认信息
Response.Write("<center>")
Response.Write("<table align="center" border="0" cellpadding="1" cellspacing="1" width="100%">")
Response.Write("<tr><td align="RIGHT"><b>打印消息送出:</b></td>")
Response.Write("<td align="LEFT">" & strMessage & "</td></tr>")
Response.Write("<tr><td align="RIGHT"><b>网络打印机路径:</b></td>")
Response.Write("<td align="LEFT">" & strPrinterPath & "</td></tr>")
Response.Write("<tr><td align="RIGHT"><b>登录帐号:</b></td>")
Response.Write("<td align="LEFT">" & strUsername & "</td></tr>")
Response.Write("</table>")
Response.Write("</center>")
End If
' 取消打印连接
objWSHNet.RemovePrinterConnection "LPT1:"
Set objWSHNet = Nothing
Set objFS = Nothing
Set objPrinter = Nothing
End If