PrintSystemJobInfo.JobStream坏了吗?

时间:2010-01-11 13:38:45

标签: c# .net printing

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

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

我错过了什么,或者PrintSystemJobInfo.JobStream坏了吗?

1 个答案:

答案 0 :(得分:2)

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

如果你想要实际的二进制JobStream,最好的办法就是从“C:\ Windows \ System32 \ spool \ PRINTERS”目录中读取假脱机文件(.SPL)。您可以在打印之前暂停作业,或者设置链接论坛帖子中提到的“保持打印作业”设置。但是要预先警告,这些数据的格式都是一样的,这取决于创建假脱机文件的驱动程序和启动打印的应用程序。从此流中提取数据并非易事,因为它将从打印机驱动程序更改为打印机驱动程序。如果您正在使用1台已知的打印机,那么您可能会取得成功。