某些流程会启动打印作业,然后告诉我相关信息。 此时,使用C ++,我需要找出当前打印作业所包含的页数,这样我就可以显示"打印页面X的Y"信息。 即我试图找出Y.
如果有人能指出我正确的方向,我将不胜感激。我已经使用打印机做了一些事情,但是我无法看到我从哪里获得这些信息。
感谢您的帮助。
答案 0 :(得分:2)
正如您在此示例中所见: https://support.microsoft.com/en-us/kb/158828
您需要在Print Queue中枚举作业,然后您将获得每个作业的JOB_INFO_1
结构。
当您执行 pJobInfo-> TotalPages 时,您将在打印队列中拥有每个作业的TotalPages。
所以在上面的例子中,找到这个:
printf( "[%d] [%s]\n", pJobInfo[i].JobId, pJobInfo[i].pDocument );
并添加:
printf( "Total Pages: [%d]\n", pJobInfo[i].TotalPages );
你将有总页数。