1

我在尝试使用 RawPrinterHelper(Microsoft 开发的打印机支持类)从 ASP.NET MVC3 应用程序打印文档时遇到问题。我需要将 RAW 数据发送到本地连接到网络中计算机的打印机。

在我的开发环境(MS Visual Studio 2010)中一切正常。我在我的操作系统中将打印机安装为网络打印机,并将该打印机的名称传递给 RawPrinterHelper。在真正的测试服务器上,事情根本不起作用。操作系统是带有 IIS7 的 Windows 7。实际上,我需要使用在 IIS 上运行的应用程序安装在本地 Windows7 客户端上的网络打印机。应用程序池标识设置为“网络服务”。使用 Visual Studio 2010 的内置 Web 服务器一切正常。所有打印机都经过测试并且可以正常工作。谢谢。

4

1 回答 1

1

我解决了这个问题。问题是 ASP.NET 应用程序在 IIS 服务器上运行,并且无法访问网络打印机,而只能访问本地打印机。然后,Windows 操作系统中的每个用户只能访问自己的网络打印机。问题可以这样解决:

1) 使用操作系统用户模拟 ASP.NET 应用程序 2) 授予用户权限以使用数据库等 3) 创建并使用特定用户配置文件登录,您的网络打印机 4) 准备就绪

以字符串格式为 RawPrinterHelper 提供正确的名称非常重要。为此,请检查 System.Drawing.Printing.PrinterSettings 并获取已安装打印机的列表。

于 2011-09-23T09:44:00.300 回答