据我所知,出于安全原因,无法使用现代浏览器找到客户端本地打印机。我有一些条件可能会使答案不同。
由于
答案 0 :(得分:0)
提供检索客户端打印机外观的一种方法是在具有相同访问权限的同一网络中运行服务器端应用程序。 Silverlight也许能够做到。不幸的是,我没有经验。
答案 1 :(得分:0)
由于几乎所有我在互联网上搜索解决方案的假设我们都希望从浏览器获取客户端的打印机,因此最终需要很少的信息。我们希望通过网络找到这些信息。
最终解决方案是使用DirectorySearch等。这里是删除了一些隐私内容的代码。它处于POF状态,因此可能有一些不太好的语法
Dim list As New List(Of String)
Dim listtemp As New List(Of String)
Dim resultCollection As SearchResultCollection
Dim computer_name As String = System.Net.Dns.GetHostEntry(Request.ServerVariables("remote_addr")).HostName.Replace(".ourcompany.com", "").ToLower 'clients machine name
Dim dirEntry As New DirectoryEntry("LDAP://DC=OURCOMPANY, DC=com")
Dim dirSearcher As New DirectorySearcher(dirEntry)
dirSearcher.Filter = "objectCategory=printQueue"
dirSearcher.PropertyNamesOnly = True
dirSearcher.PropertiesToLoad.Add("Name")
dirSearcher.SearchScope = SearchScope.Subtree
resultCollection = dirSearcher.FindAll()
For Each sresult As SearchResult In resultCollection
If sresult.GetDirectoryEntry.Name.ToLower.Contains(computer_name) Then
list.Add(sresult.GetDirectoryEntry.Name.ToLower.Substring(3).Replace(computer_name + "-", ""))
End If
Next