我需要通过热敏打印机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中使用它?
答案 0 :(得分:0)
您的“echo”命令每个发送一个尾随\n
,即代码0x0A
。
尝试以下方法:
printer.write(0x0D);
printer.write(0x0A);