Я пытаюсь уменьшить размер текста, согласно руководству мне нужно использовать 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);
}
}
Выше часть кода, который я пишу, ценю любой совет, помощь! Спасибо
Вам нужно использовать 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:
Это предполагает, что ваша установка работает и может отправлять двоичные данные на ваш принтер.
Ty за ответ, почему / n важен? Я пытаюсь использовать ваш код и другой код, который я нашел в другом вопросе, и не работает без / n
Ваш код не является минимальным рабочим примером проблемы, которую вы описываете, которая заключается в том, что форматирование не применяется к тексту (отрицательный голос был не мной, но оправдан).