Сетевой принтер Rawprinterhelper ASP.NET MVC

У меня возникают проблемы при попытке распечатать документ из приложения ASP.NET MVC3 с помощью RawPrinterHelper (класс поддержки принтеров, разработанный Microsoft). Мне нужно отправить данные в формате RAW на принтер, который локально подключен к компьютеру в сети.

В моей среде разработки (MS Visual Studio 2010) все работает хорошо. Я установил принтер в своей ОС в качестве сетевого принтера и передаю имя этого принтера в RawPrinterHelper. На реальном тестовом сервере вообще ничего не работает. Операционная система - Windows 7 с IIS7. Действительно, мне нужно использовать сетевой принтер, установленный на локальном клиенте Windows7 из моего приложения, работающего на IIS. Идентификатор пула приложений установлен как «Сетевая служба». Все работает с использованием встроенного веб-сервера для Visual Studio 2010. Все принтеры протестированы и работают. Спасибо.


person Francesco    schedule 21.09.2011    source источник


Ответы (1)


Я решил проблему. Проблема в том, что приложение ASP.NET работает на сервере IIS и не имеет доступа к сетевым принтерам, а только к локальным принтерам. Тогда у каждого пользователя ОС Windows будет доступ только к своим сетевым принтерам. Решить проблему можно так:

1) Выдайте себя за приложение ASP.NET с пользователем ОС 2) Предоставьте пользователю права на использование баз данных и т. Д. 3) Создайте, войдите в систему с ЭТОМ конкретным профилем пользователя, ваши сетевые принтеры 4) Готово

Очень важно предоставить RawPrinterHelper правильное имя в строковом формате. Для этого проверьте System.Drawing.Printing.PrinterSettings и получите список установленных принтеров.

person Francesco    schedule 23.09.2011