WEB开发网
开发学院WEB开发ASP WEB打印设置解决方案四(在ASP中实现网络打印功能... 阅读

WEB打印设置解决方案四(在ASP中实现网络打印功能)

 2005-08-31 10:33:37 来源:WEB开发网   
核心提示:使用到的技术: asp,WSH,VBScript 文件ASPPRint.asp代码如下: <%@ Language=VBScript %> <% Option Explicit Dim strSubmit ' Form中用来保存提交按钮的值 Dim strPrinterPath 

使用到的技术: 
asp,WSH,VBScript 
文件ASPPRint.asp代码如下: 
<%@ Language=VBScript %> 
<% 
   Option Explicit 

Dim strSubmit       ' Form中用来保存提交按钮的值 
   Dim strPrinterPath    ' Form中保存网络打印机路径的值 
   Dim strUsername    ' Form中用户名的值 
   Dim strPassWord     ' Form中密码的值 
   Dim strMessage      ' Form打印内容的值 
   Dim objFS           ' VBScript中的文件系统对象 
   Dim objWSHNet     ' WSH中的网络对象 
   Dim objPrinter       ' 打印对象 
 
   strSubmit = Request.Form("Submit") 
%> 

  <HTML> 
  <HEAD> 
  <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> 
  </HEAD> 
  <BODY> 
 
<% 
   If strSubmit = "" Then 
%> 

  注意的是: 
    由于我是演示起见,其中有关NT的帐号和密码都是使用了不加密的手段在ASP中传递的真正的运用中应该对该登录过程进行安全处理。 
  <FORM action="ASPPrint.asp" method=POST id=form name=form> 
   <TABLE WIDTH=100% ALIGN=center BORDER=0 CELLSPACING=1 CELLPADDING=1> 
     <TR> 
        <TD ALIGN=right NOWRAP>网络打印机路径:</TD> 
        <TD ALIGN=left NOWRAP><INPUT type="text" id=printerpath name=printerpath value="\\< Domain >\< Printer >"></TD> 
     </TR> 
     <TR> 
        <TD ALIGN=right NOWRAP>登录帐号:</TD> 
        <TD ALIGN=left NOWRAP><INPUT type="text" id=username name=username  
        value="<% = strUsername %>"></TD> 
     </TR> 
     <TR> 
        <TD ALIGN=right NOWRAP>登录口令:</TD> 
        <TD ALIGN=left NOWRAP><INPUT type="password" id=password name=password></TD> 
     </TR> 
     <TR> 
       <TD ALIGN=right NOWRAP>请输入你想打印的文字:</TD> 
       <TD ALIGN=left NOWRAP><TEXTAREA rows=2 cols=20 id=message name=message></TEXTAREA></TD> 
     </TR> 
     <TR> 
       <TD ALIGN=right NOWRAP> </TD> 
       <TD ALIGN=left NOWRAP><INPUT type="submit" value="Submit" id=submit name=submit></TD> 
     </TR> 
   </TABLE> 
  </FORM> 

  当以上信息被提交后,就可以按照下面的代码进行打印了。 
  <% 
  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 Net work 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:  
   ' 使用WSH连接网络打印机
   Set objWSHNet = CreateObject("WScript.Network")   
   objWSHNet.AddPrinterConnection "LPT1", strPrinterPath, False, strUsername, strPassword 
   '使用文件系统对象将打印设备作为一个文件使用 
   Set objFS = CreateObject("Scripting.FileSystemObject")
   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 WIDTH=100% ALIGN=center BORDER=0 CELLSPACING=1 CELLPADDING=1>") 
     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 
  %> 
  </BODY> 
  </HTML> 

Tags:WEB 打印 设置

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接