我正在编写简单的应用程序,将监测有多少页,我每天打印。我正在使用.Net,我发现了System.printing名称空间,它看起来很容易使用。
下面是我的代码。
public static void NumberOfPagesPrintedTest()
{
PrintServer ps = new PrintServer();
PrintQueueCollection printQueues = ps.GetPrintQueues();
foreach (var item in printQueues)
{
//if (item.QueueStatus == PrintQueueStatus.Printing)
//{
item.Refresh();
PrintJobInfoCollection coll = item.GetPrintJobInfoCollection();
if (coll != null)
{
foreach (var jobinfo in coll)
{
Console.WriteLine(jobinfo.NumberOfPages + " printed " + jobinfo.NumberOfPagesPrinted + " printing " + jobinfo.IsPrinting + " printed " + jobinfo.IsPrinted);
}
}
//}
}
}但在打印过程中,它显示打印的页数,但在某些页面已经打印后,它不会更改,并且jobinfo.NumberOfPagesPrinted始终等于0。如何获取实际打印的页数,以及如果打印机因某种原因而停止,如何了解实际打印的页数。
发布于 2014-08-01 20:33:39
如何编写下面的方法来获取页面计数:
public static int PrintedPageCount(PrintDocument printDocument)
{
int counter = 0;
printDocument.PrintController = new PreviewPrintController();
printDocument.PrintPage += (sender, e) => counter ++;
printDocument.Print();
return counter;
}发布于 2016-07-10 07:37:26
您需要刷新作业(使用job.refresh()),直到IsSpooling标志等于false。
https://stackoverflow.com/questions/25080322
复制相似问题