获取打印页数

时间:2015-10-26 14:15:01

标签: c++ winapi printing count

某些流程会启动打印作业,然后告诉我相关信息。 此时,使用C ++,我需要找出当前打印作业所包含的页数,这样我就可以显示"打印页面X的Y"信息。 即我试图找出Y.

如果有人能指出我正确的方向,我将不胜感激。我已经使用打印机做了一些事情,但是我无法看到我从哪里获得这些信息。

感谢您的帮助。

1 个答案:

答案 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 );

你将有总页数。