文字大小 Epson TM-H5000II
Text size Epson TM-H5000II
我正在尝试减小文本的大小,根据手册我需要使用 ESC ! 1 (https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=23) 但我不知道如何将它传递给 java 代码,我尝试定义一个 bite 并使用十进制、十六进制和 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 !
命令一起将 ESC/POS 中的较大字体 A 更改为较小的字体 B。
您还需要在它后面加上一些文本和一个换行符,我在您的示例中看不到。一个独立的 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 上显示:
这假设您的设置正常运行,并且能够将二进制数据传送到您的打印机。
我正在尝试减小文本的大小,根据手册我需要使用 ESC ! 1 (https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=23) 但我不知道如何将它传递给 java 代码,我尝试定义一个 bite 并使用十进制、十六进制和 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 !
命令一起将 ESC/POS 中的较大字体 A 更改为较小的字体 B。
您还需要在它后面加上一些文本和一个换行符,我在您的示例中看不到。一个独立的 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 上显示:
这假设您的设置正常运行,并且能够将二进制数据传送到您的打印机。