通过JavaScript检索所有已安装打印机的列表

问题描述:

我从网页获得了一个屏幕截图,该网页显示了组合框中客户端(本地和网络)可访问的所有已安装打印机的列表,并让用户选择一个。即使有一个按钮来刷新列表!通过JavaScript检索所有已安装打印机的列表

我无权访问该页面并且无法证明该功能。这甚至可以做到这一点,或通过任何方式在网页上模拟这项工作?

+1

基于Web的应用程序不能这样做。浏览器不能做这样的事情,除非有某种Java小程序,Flash或基于Silverlight的应用程序。即使如此,这些程序可能会收集这些数据的问题。因为浏览器环境无法为你的操作系统提供这种信息。这将是一个安全漏洞。 – deostroll 2014-08-28 04:35:56

如果我不得不冒险猜测,我会说它很可能是一个网络打印机列表,通过一些服务器端代码检索。 “刷新”按钮似乎支持了这一点,因为显然有AJAX。但是,简单地说,没有办法通过JavaScript获取这个信息客户端,所以还有其他的事情要做。

+0

我同意你的观点,但是这项服务被提供给全世界所有订阅的客户(正如我所知道的),并且打印机列表是针对每个客户的。在向我的老板发表最终意见之前,我想咨询其他开发人员:) – Mori 2014-08-27 14:59:10

+2

听起来像是由市场营销设计的功能。 Joe Marketer:“如果我们可以让用户选择一台打印机,这不是很好吗?” Bob Executive:“好主意,是的,我们来做吧。”谁也不知道这样的事情是否真的有可能。 – 2014-08-27 15:29:29

看起来似乎在Windows上是可能的,但我不是一个Windows的家伙,所以我无法评价这个:http://www.codeproject.com/Questions/104211/How-to-get-the-client-printer-name-using-JavaScrip

+0

本例使用ActiveX对象。基本上,比如ActiveX,Java Applet和Flash都不在桌面上。 – Mori 2014-08-27 19:31:10

您可以使用neodynamic的产品。没有ActiveX,没有闪光灯等,只安装在clien端(免费)的小应用程序,但.NET SDK或PHP SDK不是免费的。

网站: http://www.neodynamic.com/products/printing/raw-data/aspnet-mvc/download/

样品: https://github.com/neodynamic/WebClientPrint2-MVC5-Sample