如何用Java向USB行式打印机发送命令

时间:2018-01-29 20:58:19

标签: java linux printing

我需要通过热敏打印机SK-21打印一些东西。我想发送命令来控制换行等。我已经编写了一个简单的测试代码来打印一行并通过命令0D弹出papier。这段代码只是简单的原始测试:

FileOutputStream printer = new FileOutputStream("/dev/usb/lp0");
String text = "This is a test print performed by my application";
printer.write(text.getBytes());
printer.write(0x0D);
printer.flush();
printer.close();

它打印文本,但根本不会对命令0x0D作出反应,该命令应该弹出打印行。我必须通过按下按钮手动弹出纸张。如果我在终端中执行以下命令:

echo "text" >> lp0
echo -e \\x0d >> lp0

它打印"文字"并用印刷线弹出纸张。

如何在Java中使用它?

1 个答案:

答案 0 :(得分:0)

您的“echo”命令每个发送一个尾随\n,即代码0x0A

尝试以下方法:

printer.write(0x0D);
printer.write(0x0A);