5

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

我使用它的 LAN ip 和端口 9100 打开与打印机的原始数据连接没有问题,这似乎是为此目的打开的端口,但是一旦连接我就无法执行任何操作,我怀疑我正在使用命令不正确,但我对我打算如何使用它们感到困惑。

我在http://www.starmicronics.com/support/Mannualfolder/linemode_cm_en.pdf找到了一些文档,这些文档似乎适用于正确的模型,但它们的命令参考含糊不清。

到目前为止,我已经尝试使用纯文本命令(例如键入“LF”并点击回车以提供单行),但没有任何结果。

我还尝试使用键盘上明显的键,在此示例中,我通过按键盘上的 ESC 键后跟文档中的随附字符来使用“ESC”命令,但也没有任何结果。

编辑:

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

4

3 回答 3

2

部分 Star 系列打印机无法通过命令行直接通讯,必须通过自带的软件驱动程序使用。

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

于 2013-02-21T12:36:41.940 回答
2

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

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

于 2015-06-23T20:23:31.853 回答
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 上运行 - 无需配置!谢谢你***。它使用打印机上预装的固件将文本或转义序列转换为格式化文本。

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

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

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

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

于 2016-06-25T19:11:53.030 回答