通过命令行将打印指令发送到Star TSP143LAN热敏收据打印机

时间:2013-02-14 15:01:51

标签: printing tcp cmd thermal-printer

我正在尝试通过以太网连接向Star TSP100(TSP143LAN型号)热敏打印机发送打印指令。

使用它的LAN ip和端口9100打开原始数据连接到打印机是没有问题的,这是为此目的打开的端口,但是一旦连接我就无法执行任何操作,我怀疑我'我错误地使用了这些命令,但我对如何使用它们感到难过。

我在http://www.starmicronics.com/support/Mannualfolder/linemode_cm_en.pdf找到了一些文档,这些文档似乎是针对正确的模型,但是他们的命令引用是模糊的。

到目前为止,我尝试使用纯文本命令(例如输入'LF'并点击返回以提供单行代码),但没有任何结果。

我也尝试使用键盘上的明显按键,在这个例子中我按下键盘上的ESC键,然后是文档中附带的字符,使用“ESC”命令,也没有任何结果。

修改

我还将控制字符作为十六进制值发送,并作为十进制值发送,没有任何不同的结果。

3 个答案:

答案 0 :(得分:2)

某些Star系列打印机无法通过命令行直接与之通信,必须通过自己的软件驱动程序使用。

在这种情况下的解决方案是模拟打印机上的COM端口,这使您的通信过滤器通过其驱动程序,从而“开箱即用”。

答案 1 :(得分:2)

TSP143是FuturePRNT模型。如果打印机处于FuturePRNT模式,则无法使用线路模式命令。

如果可以在线路模式下配置,您可以通过直接以太网连接向其发送线路模式命令。与ESC / POS命令如何发送到Epson LAN收据打印机非常相似。

答案 2 :(得分:2)

STAR SP500点阵打印机本身可爱可靠

发现他们的英文文档非常混乱而且毫无希望。所以这里有你需要知道的一切,所以你不必去搜索。

对于STAR SP500点阵和可能的其他类似STAR收据打印机,当使用并行USB电缆连接时,当模块/驱动程序未运行/安装时,可以从命令行使用它很简单:

  sudo chown you:you /dev/usb/lp0
  echo -e "SOME SAMPLE TEXT\n\n" > /dev/usb/lp0
  echo -e "\x1b\x4d MORE SAMPLE TEXT" > /dev/usb/lp0

最后一行包含一个“转义序列”代码,用于将字体更改为比默认值更加时尚的复古/像素。以上命令经过测试并在新的Linux liveUSB上运行 - 无需配置!谢谢f ***。它使用打印机上预安装的固件将文本或转义序列转换为格式化文本。

所有其他转义序列 - 例如粗体,突出显示或更大的文本和其他位 - 可以在稍微不同的模型的手册的“控制代码”章节中找到,此处:http://www.starmicronics.com/support/mannualfolder/sp300pm.pdf < / p>

注意:安装cups驱动程序并通过lpr或任何基于GUI的程序使用打印机似乎删除/dev/usb/lp0处的设备文件,因此打印机完全无法使用上述简单命令,直到它被拔出并重新插入,并重新注册为/dev/usb/lp0文件。还应注意,执行此操作时,/dev/usb/lp0文件的所有权将被重置,因此您可能需要添加crontabudev规则,或者只需添加Debian及衍生产品的lp组的理想用户。

注意两个:要使用上面的命令,打印机必须处于'STAR Line'模式,我认为这是默认购买时的新模式,但如果没有,则只需要一两分钟。有关STAR SP500的说明,请参见第114页:http://www.starasia.com/%5CDownload%5CManual%5Csp500_um_en.pdf

这不是原始问题的确切答案,但我花了几个小时研究这台打印机如何从命令行工作,现在我知道我真的很想分享这个像我一样被困的人,我已经了解了它,我现在很爱它。