<%@ Language=vbscript %>
<%
Опция явная
Dim strSubmit 'Значение, используемое для сохранения кнопки отправки в форме.
Dim strPrinterPath 'Значение пути к сетевому принтеру, сохраненное в форме
Dim strUsername 'Значение имени пользователя в форме
Dim strPassword 'Значение пароля в форме
Dim strMessage 'Форма печатает значение содержимого
Dim objFS 'Объект файловой системы в VBScript
Dim objWS.NET 'Сетевые объекты в WSH
Dim objPrinter 'Печать объекта
strSubmit = Запрос.Форма(Отправить)
%>
<HTML>
<ГЛАВА>
<META NAME=GENERATOR Content=microsoft Visual Studio 6.0>
</HEAD>
<ТЕЛО>
<%
Если стрСубмит = Тогда
%>
Обратите внимание, что:
Поскольку это демонстрация, номер учетной записи и пароль, относящиеся к NT, передаются в ASP незашифрованным способом.
В реальных приложениях процесс входа в систему должен осуществляться безопасно.
<FORM action=метод ASPPrint.asp=POST id=имя формы=форма>
<ШИРИНА ТАБЛИЦЫ=100% ALIGN=center BORDER=0 CELLSPACING=1 CELLPADDING=1>
<ТР>
<TD ALIGN=right NOWRAP>Путь к сетевому принтеру:</TD>
<TD ALIGN=left NOWRAP><INPUT type=text id=путь к принтеру name=путь к принтеру
value=<домен><Принтер >></TD>
</TR>
<ТР>
<TD ALIGN=right NOWRAP>Учетная запись для входа:</TD>
<TD ALIGN=left NOWRAP><INPUT type=text id=имя пользователя name=имя пользователя
value=<% = strUsername %>></TD>
</TR>
<ТР>
<TD ALIGN=right NOWRAP>Пароль для входа:</TD>
<TD ALIGN=влево NOWRAP><INPUT type=пароль id=пароль
имя=пароль></TD>
</TR>
<ТР>
<TD ALIGN=right NOWRAP>Введите текст, который хотите распечатать:</TD>
<TD ALIGN=left NOWRAP><TEXTAREA rows=2 cols=20 id=сообщение
name=message></TEXTAREA></TD>
</TR>
<ТР>
<TD ALIGN=право NOWRAP> </TD>
<TD ALIGN=влево NOWRAP><INPUT type=отправить значение=Отправить
id=отправить имя=отправить></TD>
</TR>
</ТАБЛИЦА>
</ФОРМ>
После отправки вышеуказанной информации вы можете выполнить печать в соответствии со следующим кодом.
<%
Еще
' Получаем информацию об ответе из формы.
strPrinterPath = Request.Form(путь к принтеру)
strUsername = Request.Form(имя пользователя)
strPassword = Request.Form(пароль)
strMessage = Request.Form(сообщение)
Теперь мы будем использовать объект VBScript FileSystem и объект Network WSH.
дайте нам методы, необходимые для открытия подключения к принтеру, и FileSystemObject позволит нам передавать наши
вывод на принтер. Мы создаем эти объекты в следующем примере кода:
Установите objFS = CreateObject(Scripting.FileSystemObject)
Установите objWSHNet = CreateObject(WScript.Network)
'Используем WSH для подключения к сетевому принтеру
objWSHNet.AddPrinterConnection LPT1, strPrinterPath, False, strUsername, strPassword
'Используем объект файловой системы, чтобы использовать печатающее устройство в качестве файла
Установите objPrinter = objFS.CreateTextFile(LPT1:, True)
' Отправляем текст на печатающее устройство
objPrinter.Write(strMessage)
'Закройте объект печатающего устройства и выполните обработку ловушки ошибок
При ошибке Возобновить Далее
objPrinter.Close
' В случае возникновения ошибки закройте соединение для печати и выведите сообщение об ошибке.
Если Ошибка Тогда
Ответ.Запись (номер ошибки & CStr(номер ошибки) & & описание ошибки)
Ошиб.Очистить
Еще
' Операция выполнена успешно, и выводится подтверждающее сообщение.
Response.Write(<ЦЕНТР>)
Response.Write(<ШИРИНА ТАБЛИЦЫ=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>)
Ответ.Запись(</TABLE>)
Ответ.Запись(</CENTER>)
Конец, если
'Отменить соединение с печатью
objWSHNet.RemovePrinterConnection LPT1:
Установить objWSHNet = Ничего
Установить objFS = Ничего
Установить objPrinter = Ничего
Конец, если
%>
</ТЕЛО>
</HTML>