如何使用ESC/POS命令Java



我正试图在打印机POS上打印车票。这是爱普生TMU220PD。我可以打印,但我不知道如何为字体更大的打印机编程,以及如何自动切纸。我读了很多书,有一页他们说我可以使用ESC/POS命令,但我不知道如何操作。我有一个男人班,下一个代码是:

   public static void main(String[] args) {
JavaApplication14 java = new JavaApplication14();
try {
    FileWriter file = new FileWriter("/dev/usb/lp2");
    BufferedWriter buffer = new BufferedWriter(file);
    PrintWriter ps = new PrintWriter(buffer);
    java.setFormato(5, ps);
  java.cortar(ps);
}

"切割"的方法是这个

 private void cortar(PrintWriter ps) {
try {
    char[] ESC_CUT_PAPER = new char[]{0x1B, 'm'};
    ps.write(ESC_CUT_PAPER);
} catch (Exception e) {
    System.out.print(e);
}

}

当我要打印时,打印机正常工作来打印文本,但它不会剪切纸张。我也需要增加文本大小,但我不知道如何做到这一点,也不知道如何在java上使用ESC/POS命令。

你能试试吗

        byte[] bCut = new byte[4];
        bCut[0] = GS;
        bCut[1] = 86;
        bCut[2] = 65;
        bCut[3] = 0;
        String sCut = new String (bCut);
        ps.write(bCut);

       char[] cutOff = new char[]
                { 29, 'V', 65, 0 };
        ps.write(cutOff);

让我知道它是否有效?

        String text_to_print = "Hello world!";
        PrintService foundService = PrintServiceLookup.lookupDefaultPrintService();
        DocPrintJob dpj = foundService.createPrintJob();
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        /// your legacy commands ini
        // initialize printer
        outputStream.write(27); // ESC
        outputStream.write('@');
        // print text
        outputStream.write(text_to_print.getBytes());
        // feed 5 lines
        outputStream.write(27); // ESC
        outputStream.write('d');
        outputStream.write(5);
        // cut paper
        outputStream.write(29); // GS
        outputStream.write('V');
        outputStream.write(48);

你可以在这里看到完整的代码

相关内容

  • 没有找到相关文章

最新更新