我从目标打印机获得队列,并浏览其中的作业列表。当作业不是IsSpooling时,我尝试读取JobStream来查看打印作业。

到目前为止,JobStream始终为null。我的印刷资料来自DOS应用程序,应该是纯文本。我已暂停打印机以保护雨林,但是我仍然应该能够获取假脱机数据,对吗?

我是否缺少某些东西,或者PrintSystemJobInfo.JobStream损坏了?

最佳答案

该值几乎总是为空。请参阅此论坛帖子:http://www.vbforums.com/showthread.php?t=549634

如果要使用实际的二进制JobStream,最好的选择是从“ C:\ Windows \ System32 \ spool \ PRINTERS”目录中读取假脱机文件(.SPL)。您可以在打印作业之前将其暂停,或者按照链接的论坛帖子中所述设置“保留打印作业”设置。不过请注意,这些数据的格式之多全取决于创建假脱机文件的驱动程序和启动打印的应用程序。从该流中提取数据并不是一件容易的事,因为它将在打印机驱动程序之间变化。如果使用的是一台已知的打印机,则可能会成功。

10-06 08:52