截取发送到Windows打印机的数据(使用RedMon)

我需要拦截发送到Windows上的ESC / POS打印机的数据并进行分析。

所以我想以纯文本的方式获取数据,以便我可以提取并理解发送给打印机的信息。

目前,我已经尝试使用RedMon来获取发送到打印机端口的数据stream。 但是发送的数据是光栅graphics的forms,即要打印的点,embedded在ESC / POS命令中。

所以我想知道是否有人可以build议我如何获得文本格式的打印数据,以便能够从中提取一些信息。

发送到ESC / POS打印机的数据是用ESC / POS命令嵌入的光栅数据。 这是ESC / POS打印机驱动程序从其输入生成的内容。 这就是RedMon为你所做的。

似乎你想看到发送到打印机驱动程序输入 。 这意味着您必须找出哪些应用程序使用打印机,并且必须拦截到达打印机驱动程序的内容。

您不会说如果您想在“实时”环境中设置截取,或者仅用于临时测试。 如果您想临时测试,可以选择执行以下步骤:

  1. 暂停打印队列(上面的截图,下面)。
  2. 可选:将驱动程序从ESC / POS改为PostScript或Microsoft XPS。 如上所述,在打印机属性对话框的相同“高级”选项卡上执行此操作。 (下面的屏幕截图如下)。
  3. 打印。
  4. 检索在假脱机目录中等待的假脱机文件。 在Windows 8上,默认情况下是C:\ Windows \ System32 \ spool \ PRINTERSNNNNN.spl名为NNNNN.spl ,其中NNNNN是当前打印作业的编号。
  5. 分析PostScript或XPS数据。

看到这3个截图:


但是,如果你…更容易(而不是使用RedMon)…

  • …只需启用名为“保留打印文档”的打印机驱动程序设置即可:转到打印队列属性=>选择“高级”选项卡=>启用相应的复选框(请参阅上面的左侧截图);

  • …从Windows打印后台打印目录钓鱼后台打印作业;

  • …分析你的NNNNN.spl文件:

    • 在Windows 8上,这将是一个XPS文件。 重新命名为NNNNN.xps,您可以使用内置的XPS查看器打开它。

    • 在以前版本的Windows上, NNNNN.spl将具有相应打印机驱动程序(PostScript驱动程序的PostScript,Microsoft XPS打印机的XPS,打印机的ESC / POS等)的文件格式。 重命名它,并在XPS或PostScript查看器中打开它。

你可以把爱普生POS打印机调试模式,他们将打印输入数据十六进制转储。 请参阅此pdf的第88页: http : //www.pos.epson.com/epsonexpertTSG/Templates/POS_Developers_Details.aspx? NRMODE = Published&NORORIGINALURL =% 2fdevelopers%2ftechresdetails%2ehtm%3fproductpk%3d642&NRNODEGUID =% 7b934F5A6D-E01A-40B1- B2B0 -648C1EC68047%7D&NRCACHEHINT = NoModifyGuest&productpk = 642

要了解这一点,如果您注册并同意他们的条款,可以获得Epson ESC / POS SDK: https : //www.epsonexpert.com/ee/prelogin/registration.htm

如果你只是想捕获你可以创建一个TCP / IP打印机端口,指向一个工作站的IP,并运行我的vclpdcap工具。 它监视9100或515(RAW或LPR)并将数据捕获并写入文件。

看看这里,如果你需要更多的指导让我知道。

http://www.ballisticecho.com/articles-and-downloads/print-capture-lpd-9100