C# 网络打印

标签 c# printing networking

我可以通过这段代码获取网络打印机列表:

private void Form1_Load(object sender, EventArgs e)
{
  foreach (String printer in PrinterSettings.InstalledPrinters)
  {
    listBox1.Items.Add(printer.ToString());
  }
}

对于每台网络打印机,我想提取更多信息,例如: (a) 获取文档信息,如打印页数、文件名、文件大小等。

(b) 获取打印文档的计算机 IP 地址。

(c) 获取文档打印者的用户名。

我如何实现上述目标?任何代码示例将不胜感激。我是否必须查看 Windows Management Instrumentation (WMI) 的内容?

最佳答案

您也许可以通过 WMI 获取一些信息:

http://msdn.microsoft.com/en-us/library/Aa394363

如果您需要更多信息,并且您的打印机支持它,您可以使用 SNMP,这里有一篇文章\图书馆可能会帮助您了解如何使用它:

http://www.codeproject.com/KB/cs/SNMPDLL.aspx

关于C# 网络打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779058/

相关文章:

c# - 如何在不安装 Microsoft Office 的情况下在 C# 中创建 Excel(.XLS 和 .XLSX)文件?

c# - 将两种方法重构为一种

c# - 如何使用打印服务器和打印队列类

c - 按网络顺序将无符号字节数组直接写入 ip.ip_dest 是否安全?

networking - 如何以可以连接到互联网的方式启动具有静态 IP 地址的临时 lxc?

c# - Winforms,最小化,文本

c# - 如何用新创建的节点替换 TreeView 的选定节点

java - Epson TM-T70 Java打印

javascript - Ext.Ux.Printer 打印图像不起作用

java - 通过网络发送 BigInteger 对象的元组,并将这些元组的二进制表示附加到 Java 中的数组中