2013-02-12 83 views
0

job_info_2不可靠的在Windows 7的HP打印机的PagesPrinted领域,价值取决于打印处理器PagesPrinted领域,价值取决于打印处理器

我深化发展打印监视器,并为惠普打印机PagesPrinted是不可靠的et有错误的值

+0

某些东西在该字段中调用的SetJob值不正确。最有可能的是驾驶员。但是由于端口监视器负责将打印机数据传输到打印机,因此它应该能够自行确定页数。但是,我不明白你的问题实际上是什么。 – 2013-02-12 21:15:43

+0

当我打印一个pdf文档:2页的文档,每页2页,和3个副本,在通知中我收到TotalPages = 1(正确的值)和PagesPrinted = 3(错误的值,它应该是1中描述的MSDN和作为发送给其他打印机利盟,施乐...),打印机在Windows 7上共享,并在另一个Windows 7 – cheksah 2013-02-13 15:45:07

+0

使用,当我重复相同的测试PagesPrinted = 12,24,总是TotalPages = 1(正确的值)它是作为与HP打印机领域不可靠,我没有这种情况下与其他类型的打印机 – cheksah 2013-02-13 15:48:57

回答

1

您的打印机打印驱动程序显然是调用SetJob页面计数值不正确。对此你可能无能为力。因此,获得准确页数的唯一方法是解析打印数据流并自己计算页数。有问题的打印机使用PCL。幸运的是,sourceforge提供了一个开放源代码PCL viewer,您可以使用它来解析PCL。尽管这种解决方案比简单地调用GetJob更复杂,但它应该可靠地用于所有PCL打印机。支持Postscript打印机可以以类似的方式完成,并且解析更简单,因为Postscript直接将页数计入数据流中。