0

我有一个 WCF 服务操作,它以字节流的形式接收图像,并且应该在服务器本地静默打印该图像。没有对话框或弹出窗口,当调用该服务时,它应该立即将图像发送到打印机。

我正在尝试使用存储在服务器上的本地图像PrintDocument.Print()

奇怪的是它可以在 Visual Studio 的集成开发服务器上运行,但不能在 IIS 7.5 上运行。我已授予应用程序池管理员权限(我实际上使用的是登录用户的身份,即管理员),但没有运气。

从 Visual Studio 的服务器和 IIS 中,我都可以看到可用的打印机,但是当我从 IIS 调用服务时,什么都没有发生,我的意思是什么也没有。没有错误,没有例外,完全没有迹象表明发生了什么。

我试过使用ProcessStartInfowith Verb = "print"Verb = "PrintTo"但同样的事情发生了。适用于 Visual Studio,但不适用于 IIS。

我也尝试过创建 aPrintTicket和 a权限LocalPrintServerPrintSystemDesiredAccess.AdministratePrinter但我不知道如何处理它,我不知道如何告诉它打印图像文件。

我知道在任何语言/平台上打印都是一项棘手的任务,但是从 WCF 数据服务打印图像真的那么难吗?

4

1 回答 1

1

好的。现在想把我的头撞在墙上。这显然是一个权限问题,因此将打印机的 Owner 设置为Admin用户组(它设置为System)就可以了。

我现在真的很想念Linux:P

于 2012-08-27T17:30:37.400 回答