在asp.net中接收原始打印数据?

时间:2011-07-26 21:42:14

标签: asp.net printing device-driver

我希望能够在Windows客户端上安装打印机。当有人打印到所述打印机时,它会捕获打印流并将其转储到文件中。我最终需要解析这些数据并将结果放入SQL数据库中。这可能吗?我从哪里开始。

如果您想知道为什么我需要它,因为有一个应用程序我需要从中提取数据,我无法在其运行的计算机上安装任何东西,所以我想如果我设置网络打印机并让它以这种方式发送信息它可以工作。

我几乎失去了这个酱汁,所以如果有任何人甚至可以指出我正确的方向我会很感激。

1 个答案:

答案 0 :(得分:2)

RedMon是一个小的打印驱动程序包装器,可将打印数据重定向到您选择的程序。

您需要在Windows客户端上安装两件事:

  1. RedMon
  2. 您的自定义程序(用C#或其他编写)
  3. 当用户“打印”到虚拟打印机时,RedMon将数据发送到您的自定义程序,该程序将其解析,将其保存到数据库等。

      

    无法在计算机上安装任何内容...设置网络打印机

    根据您的情况,请注意RedMon documentation

    的这一关键部分
      

    使用RedMon可以创建重定向的打印机端口。如果将Windows打印机驱动程序连接到重定向的打印机端口,则发送到重定向端口的所有数据都将由RedMon转发到程序的标准输入。然后该程序负责处理数据并产生新的输出。

         

    重定向到RedMon端口的PostScript Windows打印机可以在网络上共享。当此打印机配置为使用Ghostscript和非PostScript打印机时,它将作为PostScript打印机显示给其他网络客户端。

    换句话说,您可以在其他计算机上设置RedMon,然后在网络上共享它,然后锁定的计算机可以打印到该网络“打印机”。

    在Windows 7上,RedMon has quirks但有一个workaround

    另请参阅:How to write a driver for virtual printer