Размер текста Epson TM-H5000II

Я пытаюсь уменьшить размер текста, согласно руководству мне нужно использовать ESC! 1 (https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=23), но я не знаю, как передать его в Java-код, я пытаюсь определить укус и использовать десятичный, шестнадцатеричный и ASCII, но не работает.

public class JavaPrinter implements PrinterApi {
private Logger logger = LogManager.getLogger(JavaPrinter.class);

PrintService printService;
boolean isFile = false;
String printerName = null;
PrintStream prnStr;
private PipedInputStream pipe;
PipedOutputStream dataOutput;
Doc mydoc;

byte[] widthNormal = { 0x1b, '!', '1' };
@Override
public void setNormal() {
    if (isFile)
        return;
    try {
        prnStr.write(widthNormal);
    } catch (IOException e) {
        throw new DeviceServerRuntimeException("", e);
    }
}

Выше часть кода, который я пишу, ценю любой совет, помощь! Спасибо

Ваш код не является минимальным рабочим примером проблемы, которую вы описываете, которая заключается в том, что форматирование не применяется к тексту (отрицательный голос был не мной, но оправдан).

mike42 20.06.2018 12:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
513
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно использовать 1 в качестве числа с командой ESC !, чтобы изменить шрифт A большего размера на шрифт B меньшего размера в ESC / POS.

Вам также необходимо добавить текст и новую строку, которых я не вижу в вашем примере. Автономный пример Java мог бы выглядеть так:

import java.io.FileOutputStream;
import java.io.IOException;

class FontChangeDemo {
    public static void main(String[] argv) throws IOException {
        byte[] reset = {0x1b, '@'};
        byte[] fontA = {0x1b, '!', 0x00};
        byte[] fontB = {0x1b, '!', 0x01};

        try(FileOutputStream outp = new FileOutputStream("/dev/usb/lp0")) {
            outp.write(reset);
            outp.write("Font A\n".getBytes());
            outp.write(fontB);
            outp.write("Font B\n".getBytes());
            outp.write(fontA);
            outp.write("Font A again\n".getBytes());
        }
    }
}

Что отображает это на TM-T20II:

Example output

Это предполагает, что ваша установка работает и может отправлять двоичные данные на ваш принтер.

Ty за ответ, почему / n важен? Я пытаюсь использовать ваш код и другой код, который я нашел в другом вопросе, и не работает без / n

Patricio Mora 20.06.2018 18:24

Другие вопросы по теме