簡體   English   中英

如何使用 ESC/POS 命令 Java

[英]How to use ESC/POS command Java

我正在嘗試在打印機 POS 上打印門票。 這是一個EPSON TMU220PD。 我可以打印,但我不知道如何編程打印機以使用更大的字體進行打印以及如何自動切紙。 我讀了很多書,他們說我可以在頁面上使用 ESC/POS 命令,但我不知道這是如何工作的。 我有一個帶有下一個代碼的 man 類:

   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);

你可以在這里看到完整的代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM