【发布时间】:2014-08-15 20:09:12
【问题描述】:
我知道之前有人问过类似的问题,比如here 和其他一些地方。 但我想问一些关于基本概念的问题。
所以,我被分配了一个项目,我必须制作一个“usb logger”。该项目的主要功能是在记录仪软件上捕获从PC传输到Usb打印机的数据,以便将每次打印输出的原始数据保存到文件中进行记录和分析。
有人告诉我我可以使用第三方工具,例如usbpcap,但我建议我们为什么不直接从打印后台处理程序获取数据。据我所知,打印后台处理程序维护要打印的数据队列。
在我开始做这个项目之前,我想问几个基本问题
1) 在这种情况下什么是原始数据?
2) 我可以通过直接从 spooler 获取此功能还是有其他方法。
3) 哪一个需要更多的电脑资源与 USB 端口或 spooler 通信?
我只需要完全了解该领域。 (我将使用 C# 开发这个项目)
谢谢
【问题讨论】:
-
您可以在假脱机程序到达 USB 端口之前从假脱机程序中捕获此数据,但如何继续的问题取决于您打算如何处理这些数据。如果您从 USB 捕获它,您将获得旨在被该打印机理解的原始数据。它可以是 Postscript、PCL、原始位图或完全不同的打印机专有的东西。这几乎可以肯定是很难做到的。捕获假脱机文件数据可能更简单,但您想用这些数据做什么?
-
我只想维护通过 USB 打印机打印的数据的日志。我的方法正确吗?
-
当您说打印数据的日志时,您是什么意思?以原始形式捕获到打印机的整个实际输出?或者只是摘要信息,例如谁打印、何时、何地等?
-
以原始形式捕获整个输出。
标签: c# printing usb printers print-spooler-api