【问题标题】:Get the total amount of pages from Win32_PrintJob从 Win32_PrintJob 获取总页数
【发布时间】:2011-11-07 13:49:27
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 没有解决方案。打印机驱动程序经常使用专有命令要求打印机生成副本,而不是重复假脱机同一文档。非常高效,但 Windows 不知道这些自定义驱动程序的作用。打印机制造商通常有某种管理软件。

标签: c# .net windows printing wmi


【解决方案1】:

我在 Win32_PrintJob 上遇到了同样的问题(TotalPages/PagesPrinted 不考虑份数)。我通过将 WMI 与 Win api 结合来解决它。

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

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

希望这会有所帮助。

干杯,

卢卡斯

【讨论】:

  • 我正在搜索如何在c#中使用它,但我没有找到任何东西,我可以在c#中这样做吗???,帮我举个例子
  • 我也遇到了同样的问题,你介意显示你的代码吗?
猜你喜欢
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
相关资源
最近更新 更多