我无法使用RawPrinterHelper(Microsoft开发的打印机支持类)从ASP.NET MVC3应用程序打印文档。我需要将RAW数据发送到本地连接到网络中计算机的打印机。
在我的开发环境(MS Visual Studio 2010)中,一切运行良好。我在我的操作系统中安装了打印机作为网络打印机,并将该打印机的名称传递给RawPrinterHelper。 在真正的测试服务器上,根本不起作用。操作系统是带有IIS7的Windows 7。 实际上,我需要在IIS上运行的应用程序中使用安装在本地Windows7客户端上的网络打印机。 应用程序池标识设置为“网络服务”。 一切都使用Visual Studio 2010的内置Web服务器。 所有打印机都经过测试和工作。 谢谢。
答案 0 :(得分:1)
我解决了这个问题。问题是ASP.NET应用程序在IIS服务器上运行,无法访问网络打印机,只能访问本地打印机。然后,Windows操作系统中的每个用户只能访问自己的网络打印机。 问题可以用这种方式解决:
1)使用操作系统用户模拟ASP.NET应用程序 2)授予用户使用数据库等的权限 3)创建,使用特定用户配置文件登录您的网络打印机 4)准备好了
为RawPrinterHelper提供字符串格式的正确名称非常重要。为此,请检查System.Drawing.Printing.PrinterSettings并获取已安装的打印机列表。