gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:46:14 29 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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

您没有说明您是想在“实时”环境中设置拦截,还是仅用于临时测试。如果您想临时测试,您也可以执行以下步骤:

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

查看这 3 个屏幕截图:


但是,如果您...(而不是使用 RedMon)会容易得多

  • ...只需启用名为“保留打印的文档” 的打印机驱动程序设置:转到打印队列属性 => 选择“高级”选项卡 => 启用相应的复选框(见左侧屏幕截图, 以上);

  • ...从 windows 打印假脱机目录中获取假脱机打印作业;

  • ...分析您的 NNNNN.spl 文件:

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

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

关于java - 拦截发送到 Windows 打印机的数据(使用 RedMon),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420237/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com