使用したテクニック:
ASP、WSH、VBスクリプト
文件ASPPrint.asp代码如下:
<%@ 言語=VBScript %>
<%
Option Explicit
Dim strSubmit ' フォーム中使用するための提交按钮的值
Dim strPrinterPath ' フォーム中保存ネットワーク打プリンタ経路の值
Dim strUsername ' フォーム中用户名の值
Dim strPassword ' フォーム中秘密コード的值
Dim strMessage ' フォーム印刷内容の值
Dim objFS ' VBScript 内の文ファイル系统对オブジェクト
Dim objWSHNet ' WSH 中のネットワーク对オブジェクト
Dim objPrinter ' 打印对象
strSubmit = Request.Form("送信")
%>
<HTML>
<頭>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<本体>
<%
strSubmit = "" の場合
%>
注意事項:
私は、NT に関連するネットワーク番号とパスワードの両方が、ASP で転送される正規のアプリケーションで安全な登録プロセスを実行することを示しているためです。
<FORM アクション = "ASPPrint.asp" メソッド = POST id = フォーム名 = フォーム>
<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="\< ドメイン >< プリンタ >"></TD>
</TR>
<TR>
<TD ALIGN=right NOWRAP>登录帐号:</TD>
<TD ALIGN=left NOWRAP><INPUT type="text" id=ユーザー名 name=ユーザー名
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=2cols=20 id=message name=message></TEXTAREA></TD>
</TR>
<TR>
<TD ALIGN=右ナウラップ> </TD>
<TD ALIGN=left NOWRAP><INPUT type="submit" value="Submit" id=submit name=submit></TD>
</TR>
</テーブル>
</FORM>
上記の情報が送信されると、次のコードに従って印刷できます。
<%
それ以外
' フォームから応答情報を取得します。
strPrinterPath = Request.Form("プリンターパス")
strUsername = Request.Form("ユーザー名")
strPassword = Request.Form("パスワード")
strMessage = Request.Form("message")
ここでは、VBScript FileSystemObject オブジェクトと WSH Network オブジェクトを使用します。ネットワークオブジェクトは、
プリンター接続を開くために必要なメソッドを提供し、FileSystemObject を使用してファイルをストリーミングできるようにします。
プリンターに出力します。これらのオブジェクトを次のコードで作成します。
例:
' 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)
'关闭打印设备对象幛误陷阱処理
エラー時は次へ再開
objPrinter.Close
' 错误が発生した場合は、印刷接続を停止し、错误情報を出力します
エラーの場合はその後
Response.Write ("エラー # " & CStr(Err.Number) & " " & Err.Description)
エラークリア
それ以外
' 操作成功、出力确认情報
Response.Write("<センター>")
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>")
終了の場合
' 取消打印接続
objWSHNet.RemovePrinterConnection "LPT1:"
objWSHNet = なしを設定します
objFS = なしを設定します
objPrinter = なしを設定します
終了の場合
%>
</BODY>
</HTML>