我能够打印文档,但我不知道如何获得它的状态.我经历了很多资源(MSDN,用于检查工作状态的链接),但无法找到答案.
我实际上想要从打印机确认文档是否已成功打印.此外,我也很感兴趣,如果我可以从打印机获得错误信号,就像纸张被卡住一样.
我有打印机发送的打印机名称和文档名称.有没有人在这方面做过一些研究,可以告诉我如何做到这一点?
您也许可以使用 WMI 来实现此目的。它提供了几个与打印相关的类,包括Win32_PrintJob。
这是未经测试的,但类似这样的事情应该可以帮助您开始:
SelectQuery query = new SelectQuery("Win32_PrintJob");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
using (ManagementObjectCollection printJobs = searcher.Get())
foreach (ManagementObject printJob in printJobs)
{
// The format of the Win32_PrintJob.Name property is "PrinterName,JobNumber"
string name = (string) printJob["Name"];
string[] nameParts = name.Split(',');
string printerName = nameParts[0];
string jobNumber = nameParts[1];
string document = (string) printJob["Document"];
string jobStatus = (string) printJob["JobStatus"];
// Process job properties...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7639 次 |
| 最近记录: |