如何获取打印机状态

How do I get the Printer status?

本文关键字:打印机 状态 获取 何获取      更新时间:2023-10-16

有什么方法可以从网络打印机获取打印机状态,例如卡纸或缺纸?

我正在从事一个从销售点打印到 A4 网络打印机的项目,我打算使用 LPR 本机应用程序,但使用该应用程序无法获得卡纸或缺纸错误。

是否可以从 Lexmark 网络打印机获取这些状态?

是否存在任何允许我获得这些状态的 C/C++ 开源库?

提前谢谢你

这取决于打印机。大多数启用LAN的盒子确实有一个Web界面,这是一个很容易捕获的。我对一些使用 curl 下载状态页面并解析这些页面的理光打印机做了同样的事情......

另一种可能性是使用 snmp 陷阱,因为打印机往往会发生"卡纸"或"墨水/碳粉不足"的事件......

对于

这样的事情,唯一可能的解决方案是打印机使用的协议,该协议允许您连接到它并请求数据。例如,如果它是支持 IPDS 的打印机,则必须找出它使用的端口并使用 TCP/IP 套接字连接到它,请求 Sense 数据,然后破译它。这就是你能做的。

如果您拥有的打印机支持 UPnP 设备控制协议打印机基本和/或打印机增强,则可以执行此操作。通常,DLNA认证的打印机具有此功能。

您可以在此处查看规格表:http://upnp.org/sdcps-and-certification/standards/sdcps/基本上,您的设备和控制器应用程序之间的接口将基于 SOAP。

有可用的 UPnP SDK,但您需要研究严格的 UPnP 体系结构才能实现它。祝你好运!