0
当您购买热敏收据打印机时,还会收到一本手册,告诉您应该使用哪个字节序列来执行哪些操作(剪切,完成作业,设置字体等)。但是我对Java的理解并不足以让我能够使用ESC/POS命令。ESC命令将条形码打印到热敏打印机上?
我有一台Citizen CT S2000热敏票据打印机。我已经设法使用字节序列进行切割和换行,并操作热敏打印机应具有的字体。但我不知道如何使用ESC命令来生成和打印条形码。
有关如何执行此操作的手册,请参阅第144页上的here。此处的示例代码在BASIC中提供。
LPRINT CHR$(&H1D);"k"; CHR$(73); CHR$(10);
LPRINT "{BNo.{C"; CHR$(12); CHR$(34); CHR$(56);
LPRINT CHR$(&HA);
END
这是我打印条形码的尝试。
public static void barcode() throws Exception{
byte[] b = {0x7b, 0x43, 0x12, 0x34};
//This is the commands as I interpreted the to print out 12 and 34
DocPrintJob job = PrintServiceLookup.lookupDefaultPrintService().createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
/*This is how I send byte sequences.
if you got something better then don't hesitate yelling at me :D :). */
Doc doc = new SimpleDoc(b, flavor, null);
job.print(doc, null);
}
然而,这根本不会产生任何结果,打印机根本没有做任何事情。
我真的找不到如何做到这一点的任何例子。
如有任何答案/意见,将不胜感激。
也许你应该看看JavaPOS:http://www.javapos.com/samplecode.html。您可能需要为它安装驱动程序(对于爱普生来说,有一个JavaPOS ADK),但是一旦你得到它的工作,这是一个很好的工作库。 – wvdz
谢谢,我一定会检查出来。但是真的有必要安装驱动程序吗?我能够得到一些其他命令,例如cut命令。 –
我不确定。我实现了类似的东西,但是这是用于Epson打印机的,如果不安装Epson JavaPOS驱动程序,这不起作用。 – wvdz