我是否有办法从网络打印机获取打印机状态,如卡纸或缺纸?
我正在开发一个项目,从销售点打印到A4网络打印机,我计划使用LPR本机应用程序,但我不能得到卡纸或出纸使用该应用程序的纸质错误。
是否可以从Lexmark网络打印机获取这些状态?
是否存在允许我获得这些状态的任何C / C ++开源库?
提前谢谢
答案 0 :(得分:1)
这取决于打印机。大多数支持LAN的盒子都有一个易于捕获的Web界面。我使用curl下载状态页并解析了那些......的一些ricoh打印机也做了同样的事情......
另一种可能性是使用snmp陷阱,因为打印机往往会出现“卡纸”或“油墨/墨粉不足”的事件......
答案 1 :(得分:0)
这种类似的唯一解决方案是打印机使用的协议,允许您连接到它并请求数据。例如,如果它是支持IPDS的打印机,则必须找出它使用的端口并使用TCP / IP套接字连接到它,请求Sense Data,然后对其进行解密。这就是你所能做的一切。
答案 2 :(得分:0)
如果您使用的打印机支持UPnP设备控制协议PrinterBasic和/或PrinterEnhanced,则可以执行此操作。通常,DLNA认证的打印机具有此功能。
您可以在此处查看规格表: http://upnp.org/sdcps-and-certification/standards/sdcps/ 基本上,设备和控制器应用程序之间的接口将基于SOAP。
有UPnP SDK可用,但您需要学习严格的UPnP架构来实现它。 祝你好运!