如何在ASP.NET中获取客户端打印机详细信息?

时间:2013-01-24 07:18:38

标签: c# asp.net linux wmi

我正在开发基于Web的应用程序(Asp.net Mvc3 Razor,Sql server 2012),其中我想要get printers that connected in client system

要在Windows安装系统中获取打印机名称,我已经使用了WMI(Windows媒体工具),但我将如何获得基于linux的系统信息用于相同目的。

2 个答案:

答案 0 :(得分:4)

你不能。

Web浏览器不会在HTTP标头中公开附加打印机的详细信息,也没有任何用于打印的公开浏览器脚本API。

唯一的解决方法是使用突破浏览器沙箱和查询打印机的Java小程序或ActiveX控件。然而要注意的是,这两种方法都无法在现代互联网上发挥作用--ActiveX在2002年左右实际上已经死了,Java也在快速发展。

Flash确实有一个基本的打印API,可能会返回附加打印机的名称,但它不可靠。

对第2部分的回应:显然WMI在Linux上不起作用,你可能会在/dev下使用CUPS或查询,但Linux没有像WMI那样的东西。

为什么还要了解附加打印机的详细信息? Web服务器应用程序无法命令客户端打印任何内容。 WMI只会告诉您应用程序运行的服务器。

答案 1 :(得分:1)

我认为通过CUPS网络界面,您可以完成任务。 Check this