Mur*_*ala 3 .net c# printing system.printing printqueue
正在尝试在共享打印机上打印文档;我需要获取打印队列详细信息。以下代码始终从“Microsoft XPS 文档”获取队列,因为作业数 = 0。但我的默认打印机配置为“HP LaserJet P1505n”
LocalPrintServer server = new LocalPrintServer()
PrintQueueCollection queueCollection = server.GetPrintQueues();
PrintQueue printQueue = null;
foreach (PrintQueue pq in queueCollection)
{
Logger.LogInfo("PrintQueue1", "Printer1 Queue Name " + pq.FullName);
printQueue = pq;
numberOfJobs = printQueue.NumberOfJobs;
Logger.LogInfo("numberOfJobs1"+ numberOfJobs);
}
Run Code Online (Sandbox Code Playgroud)
如何从该特定共享打印机获取打印队列详细信息?我也试过
PrintServer server = new PrintServer(@"\\192.168.100.168\HP LaserJet P1505n");
Run Code Online (Sandbox Code Playgroud)
但得到错误为:
Win32 错误:文件名、目录名或卷标语法不正确
我在这里缺少什么?
如何从该特定共享打印机获取打印队列详细信息?
尝试这样的事情:
// string.Empty or null for local printers
string printServerName = @"\\server";
string printQueueName= "printer";
PrintServer ps = string.IsNullOrEmpty(printServerName)
// for local printers
? new PrintServer()
// for shared printers
: new PrintServer(printServerName);
PrintQueue pq = ps.GetPrintQueue(printQueueName);
Console.WriteLine(pq.FullName);
Console.WriteLine(pq.NumberOfJobs);
// output is printer uri (\\server\printer) and 0.
Run Code Online (Sandbox Code Playgroud)
也可以使用服务器 ip 地址(如字符串)代替服务器名称。
string printServerName = @"\\192.168.1.111"; // for example
Run Code Online (Sandbox Code Playgroud)
即
用于本地打印机 PDFCreator 集
string printServerName = null;
string printerName = "PDFCreator";
Run Code Online (Sandbox Code Playgroud)
并且对于服务器 S 上的共享打印机 P
string printServerName = @"\\S";
string printerName = "P";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11287 次 |
| 最近记录: |