以c#编程打印 - 避免输入请求

时间:2018-02-21 09:12:53

标签: c# printing

我在c#中编写代码,使用打印机驱动程序以编程方式打印PDF。有时,会显示弹出窗口,需要用户输入,例如

  

碳粉即将耗尽,继续?是 - 否

并且在用户点击之前打印机不会打印。此代码在服务器上运行,因此没有人可以单击。 有没有办法克服这个问题,而不知道所有可能的问题(不同的打印机)。 我使用此代码进行打印,我阻止打印直到打印上一个文档:

process.StartInfo.FileName = filePath;
process.StartInfo.Arguments = "\"" + printerName + "\"";
process.StartInfo.UseShellExecute = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.Verb = "PrintTo";
process.Start();
var server = new PrintServer();

try
{
    int numberOfJobs = server.GetPrintQueue(printerName).NumberOfJobs;

    while (numberOfJobs == 0)
    {
        numberOfJobs = server.GetPrintQueue(printerName).NumberOfJobs;

    }
    while (numberOfJobs > 0)
    {
        numberOfJobs = server.GetPrintQueue(printerName).NumberOfJobs;
    }
    retVal = true;
}
catch
{
    retVal = false;
}
finally
{
    process.Kill();
}

0 个答案:

没有答案