c# - 从 Win32_PrintJob 获取总页数

标签 c# .net windows printing wmi

Win32_PrintJob WMI 类有很多属性。 (参见:Win32_PrintJob on MSDN)

我有一个小型 .NET 应用程序,可以显示打印作业并显示作业信息。

TotalPages 属性给出了发送的页数。但该数字并未考虑用户请求的份数。因此,如果用户想要打印 5 份两页文档,TotalPages 的值将为 2,而不是 10。

如何获取打印作业的份数,或获取要打印的总页数(份数乘以作业中的页数)?

谢谢

最佳答案

我在使用 Win32_PrintJob 时遇到了同样的问题(TotalPages/PagesPrinted 不考虑份数)。我通过结合 WMI 和 Win api 解决了这个问题。

可以从 DEVMODE 中检索副本数结构 (dmCopies) 是 JOB_INFO_2 的一部分结构体。

因此,您使用 Level=2 调用 GetJob,您将获得 JOB_INFO_2 实例。从那里开始,小菜一碟,只需一点点编码 :)。

希望这对您有所帮助。

干杯,

卢卡斯

关于c# - 从 Win32_PrintJob 获取总页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256737/

相关文章:

java - Xamarin 中的 Android ParsePushBroadcastReceiver

c# - 在不知道 coclass 的情况下释放 COM 接口(interface)

c# - 显示请求页面的404页面

c# - 如何终止挂起的 APM 操作

.net - 为什么 System.String 对象不缓存其哈希码?

windows - 如何在 Windows 的命令行中创建一个空文件?

c# - MVC 5.1 Razor DisplayFor 不使用 Enum DisplayName

.net - F# 实际上将私有(private)成员编译为 IL 中的内部成员。漏洞?

windows - 如何在 Windows 上使用 cmake + arm-none-eabi 进行交叉编译?

c++ - OpenProcess 的内核模式版本