【问题标题】:get a list of local and network printers with c#使用 c# 获取本地和网络打印机列表
【发布时间】:2010-01-08 07:06:52
【问题描述】:

我有一个带有 asp.net 2.0 的 Web 应用程序,我想创建一个下拉菜单来显示客户端计算机上安装的打印机?这怎么可能?

我尝试了以下代码

foreach (string strPrinter in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
   // add to list
}

但它只显示与服务器连接的本地打印机,而不是客户端计算机。

【问题讨论】:

  • 很多坏人都在使用一种相当老套的方法,我不确定它是否可靠,也不希望详细说明。看看 Jeremiah Grossman 的博客,你会在这里找到我提到的方法。

标签: c# asp.net-2.0 printing


【解决方案1】:

您无法在 ASP.NET 中获取它,因为它在您的服务器上运行。你也不能在 Javascript 中得到它。它只是不可用;例如,参见http://javascript.about.com/od/events/a/print_3.htm

我能想到的唯一解决方案是构建一个 ActiveX 控件,然后您可以使用问题中的 C#,除了在客户端上运行。当然,这会限制你使用 IE。

【讨论】:

    【解决方案2】:

    如果您想在客户端机器上显示已安装的打印机,那么您可能必须使用 javascript,因为您编写的代码将在服务器端执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-24
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      相关资源
      最近更新 更多