Удаленная и локальная печать из приложения C # ASP.NET - PullRequest
3 голосов
/ 22 сентября 2011

Моя ситуация связана с написанным мною приложением ASP.NET, которое должно удаленно печатать заказы, а также печатать локальную копию лица, создавшего заказ, на локальном клиентском компьютере.

Процесс работает следующим образомэто: после того, как заказ был создан на предыдущих страницах и отправлен в систему, информация о заказе сначала постоянно сохраняется в таблице базы данных Oracle.Затем приложение переносит пользователя на страницу заказа для печати, где отображается окончательный заказ и он готов к печати.Страница заказа состоит из некоторого текста заголовка вверху, мест для подписей и дат и, наконец, объекта GridView, содержащего информацию о заказе (категория товара, подкатегория товара и количество для каждого заказанного товара).

Как только эта страница закончила загрузку и готова к печати, мне нужно, чтобы система сделала две вещи:

  1. Распечатайте страницу с информацией о заказе на локальном принтере по умолчанию на клиентском компьютере или вызовите ее.диалоговое окно печати, позволяющее пользователю распечатать информацию о заказе.
  2. Распечатать информацию о заказе на удаленном принтере (с известным статическим IP-адресом), расположенном в другом месте нашей сети, где обрабатываются заказы.

Печать на локальном аппарате, конечно, легко понять.Я намеревался просто вызвать диалоговое окно печати по умолчанию и позволить пользователю печатать оттуда, или выполнить какую-то аналогичную функцию, чтобы веб-страница печаталась локально.Трудность заключается в том, чтобы выяснить, как печатать на удаленном компьютере.Все, что у меня есть, чтобы указать, что принтер для системы - это его статический IP-адрес.У меня нет общего имени принтера.

Учитывая эту информацию, можно ли автоматически печатать веб-страницу на удаленном принтере, где обрабатываются заказы?Если так, что мне нужно использовать, чтобы сделать это?Кроме того, если у кого-нибудь есть пример кода, который может помочь мне начать работу (в VB или C #, хотя внутренний код этого проекта находится в C #), это будет чрезвычайно ценно.

Спасибо!

1 Ответ

2 голосов
/ 22 сентября 2011

Я однажды реализовал такую ​​вещь, но пользователь, который запускает ваше приложение ASP.net, должен иметь достаточно прав для печати (чего не происходит в большинстве случаев по понятным причинам). Чтобы это исправить, я создал клиентский веб-сервис, который принимает документ для печати и отправляет его (он установлен на машине в том же домене, что и принтер) на принтер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...