Как распечатать символ рисования коробки с помощью ESC/POS
Я хотел бы напечатать символ рисования коробки с помощью ESC / POS на матричном принтере Epson LQ310 в приложении для Android. Образец распечатки будет таким, как показано ниже,
Сначала я использую подчеркивание и вертикальную черту, чтобы нарисовать его границы. Но распечатка оказалась с ломаной линией. Вместо этого я хотел бы иметь непрерывную линию.
Затем я увидел, что есть символ рисования коробки с кодом ASCII в качестве прикрепленного изображения,
Используя эту информацию о коде ASCII, я попытался распечатать, но распечатка стала другими символами. Я узнал, что это связано с другим набором символов, используемым в принтере.
При проверке с помощью команды ESC/P есть только эти 2 команды, касающиеся набора символов.
ESC R
ESC t
Пример кода, который я сделал, как показано ниже, я просто попробовал несколько символов, но безрезультатно. Как зарегистрировать набор символов PC850 и использовать его с помощью команды ESC t?
char[] verticalLine = {0x00B3};
char[] verticalPlusLeft = {0x00B4};
char[] upperRightCorner = {0x00BF};
char[] bottomRightCorner = {0x00D9};
char[] upperLeftCorner = {0x00DA};
char[] bottomLeftCorner = {0x00C0};
char[] horizonLine = {0x00C4};
char[] verticalPlusRight = {0x00C3};
char[] charMultiLangual = {0x001B, 0x0074, 0x0002}; //ESC,t,2(PC850)
char[] charCodeDefault = {0x001B, 0x0074, 0x0000}; //ESC,t,0(Default)
strPrintFooterTitle = new String(charMultiLangual);
strPrintFooterTitle += printFooter(new String(upperLeftCorner), "TYPE", new String(verticalLine), "QTY", new String(upperRightCorner)) + "\n";
strPrintFooterBig = printFooter(new String(verticalLine), "Crate - Big", "|", "5", "|") + "\n";
strPrintFooterSmall = printFooter("|", "Crate - Small", "|", "10", "|") + "\n";
strPrintFooter = new String(charCodeDefault);
Буду признателен за любую оказанную помощь. Спасибо
1 ответ
Вы можете использовать именно эти символы рисования прямоугольников, а не их коды, примерно так:
System.out.println("┌───────────────────────┬───────┐");
System.out.println("│ Type │ QTY │");
System.out.println("├───────────────────────┼───────┤");
System.out.println("│ Crate - Big │ 7 │");
System.out.println("├───────────────────────┼───────┤");
System.out.println("│ Crate - Small │ 3 │");
System.out.println("└───────────────────────┴───────┘");
Выход:
┌───────────────────────┬───────┐
│ Type │ QTY │
├───────────────────────┼───────┤
│ Crate - Big │ 7 │
├───────────────────────┼───────┤
│ Crate - Small │ 3 │
└───────────────────────┴───────┘
См. Также: Как повернуть матрицу на 90 градусов против часовой стрелки в java?