用C#最佳方法打印文档

用C#最佳方法打印文档,c#,printing,.net-3.5,namespaces,wmi,C#,Printing,.net 3.5,Namespaces,Wmi,我正在C#中搜索一个名称空间,通过它我可以“打印和监视打印”。目前我使用“进程”打印pdf;但在这里我无法监控打印。因为进程只是将文档扔到打印机。我通过了Win32_打印机和系统。打印这两个程序都处理“控制/监控打印作业”,而不是打印文档 我现在如何打印: ProcessStartInfo psInfo = new ProcessStartInfo(); psInfo.Arguments = ConfigurationManager.AppSettings["printer_name"]; ps

我正在C#中搜索一个名称空间,通过它我可以“打印和监视打印”。目前我使用“进程”打印pdf;但在这里我无法监控打印。因为进程只是将文档扔到打印机。我通过了Win32_打印机和系统。打印这两个程序都处理“控制/监控打印作业”,而不是打印文档

我现在如何打印:

ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.Arguments = ConfigurationManager.AppSettings["printer_name"];
psInfo.FileName = fileName;
psInfo.WindowStyle = ProcessWindowStyle.Hidden;
psInfo.Verb = "print";
psInfo.CreateNoWindow = false;
psInfo.UseShellExecute = true;
process = Process.Start(psInfo);
WMI的功能: 及


我需要做的就是检查我目前打印的文档的打印状态。。是否打印

查询以什么方式不能满足您的需要?或者您正在询问如何从.NET代码执行WMI查询?“是否可以使用Win32_PrintJob打印文档?”是否有疑问?如果是,请提供链接。。谷歌搜索帮不了我!基于上的方法列表:否。您需要一个支持打印文档类型的应用程序:通常通过使用shell的文件类型注册&print verb.System.printing命名空间。不会帮你的,这是出了名的不可靠。好的打印机有大量的RAM,在几秒钟内就把整个文档弄脏了,然后在没有报告的情况下进行业务打印。您将完全无法在打印队列中看到它。@Richard@汉斯·帕桑:我现在该怎么走?在C#中“打印并获取状态”的好方法是什么?这两条评论都清楚地表明,我不能使用一个或两个名称空间来满足我的需求!