gpt4 book ai didi

java - 如何从 Java 代码将包含 ESC/POS 命令的 .text 文件发送到打印机

转载 作者:搜寻专家 更新时间:2023-11-01 01:54:35 26 4
gpt4 key购买 nike

到目前为止我有以下代码:

 FileInputStream fin =new FileInputStream(filename);
DocFlavor df = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc d = new SimpleDoc(fin, df, null);
PrintService P = PrintServiceLookup.lookupDefaultPrintService();

if (P != null) {
DocPrintJob job = P.createPrintJob();
job.print(d, null);
}
fin.close;

代码工作正常,但如果文件包含命令,打印机不会解释命令,它会继续打印文件的确切字符串内容。那么如何向爱普生收据打印机发送命令呢?

最佳答案

已经发现,命令可能必须直接发送,而不是 ESC/POS 格式,但您需要在 Java 代码中将代码解释为十六进制,并按照我发布的方式发送到打印机,无论是从文件还是字符串。作为示例,而不是通过以下方式初始化 Epson 收据打印机:

  PRINT #1, CHR$(&H1B);"@";

要在收据打印机中 Papercut ,代码可能是:

  PRINT #1, CHR$(&H1D);"V";CHR$(1);

这就是我的工作方式。

    char[] initEP = new char[]{0x1b, '@'};
char[] cutP = new char[]{0x1d,'V',1};
String Ptxt= new String(initEP)+ " text data \n \n \n"+ new String(cutP);

代替

    Doc d = new SimpleDoc(new FileInputStream(filename), df, null);  

使用

    InputStream pis = new ByteArrayInputStream(Ptxt.getBytes());
Doc d = new SimpleDoc(pis, df, null);

然而,它可能是一种将代码作为其命令格式发送的方法,但到目前为止还无法做到这一点。不确定它是否可以从 java 完成。

关于java - 如何从 Java 代码将包含 ESC/POS 命令的 .text 文件发送到打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13754668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com