如何通过 PJL 从 HP 打印机读取服务 ID 和型号?

如何通过 PJL 从 HP 打印机读取服务 ID 和型号?

正如标题所说:有人知道如何通过 PJL 从 HP 打印机中读出服​​务 ID 和型号吗?

总的来说,我熟悉使用 PJL 执行此类任务的过程(例如读出序列号)。我只是找不到型号和服务 ID 的变量名称。

如果这很重要的话,我特别有兴趣使用 CP5225 等更大的彩色激光打印机来做到这一点。

对于那些还没有这样做的人:

1)正常安装您的联网打印机(端口9100)。

2)打开 bash(Linux)并执行以下操作:

> nc <IP of your printer> 9100 <-- Type this in bash
@PJL INFO PAGECOUNT            <-- Type this when being connected
4589                           <-- This is the printer's response
...                            <-- and so on

我尝试了各种各样的INQUIRE命令,INFO但都没有成功,所以进一步猜测似乎是在浪费时间。

有人知道相应的变量名称吗,或者我可以以某种方式让打印机报告它支持的所有变量吗?

答案1

  • 关于型号:

关于您的评论,看来您真正寻找的是型号名称。

这是由命令ID类别返回的INFO

@PJL INFO ID<CR><LF>
"LASERJET 4"<CR><LF>
<FF>

此处有记录:http://h10032.www1.hp.com/ctg/Manual/bpl13208.pdf

  • 关于服务 ID:

PJL这里引用了 一些其他未记录的命令:http://www.undocprint.org/formats/printer_control_languages/pjl

它表明@PJL INFO PRODINFO可以返回Service ID

@PJL INFO PRODINFO
ProductName = HP LaserJet Professional P1102w
FormatterNumber = Q910CHL
PrinterNumber = Q1234A
ProductSerialNumber = VNB3600454
ServiceID = 20127 <------------------------------------------------- HERE!
FirmwareDateCode = 20091029
MaxPrintResolution = 600
ControllerNumber = Q910CHL
DeviceDescription = HP LaserJet Professional P1102w
DeviceLang = ZJS PJL ACL HTTP
TotalMemory = 8388608
AvailableMemory = 4993912
Personality = 7
EngFWVer = 15
IPAddress = 192.168.1.15
HWAddress = 0025B3EDFFD0

未经我本人测试...尝试一下并告诉我们。

答案2

我询问了用例是因为我想避免这成为 XY 问题。

我知道您正在寻找未记录的 PJL。我的问题是您想用它做什么。如果目标是收集所有打印机设备的型号、序列号和服务 ID,那么可能有更好的选择。

如果所有网站都可以访问,请使用类似HP 的打印机设备管理软件

不幸的是,SNMP 不会提供序列号,但所有高端 HP 打印机都具有 telnet 接口。可以从这些会话中获取序列号和型号信息。

相关内容