为了账号安全,请及时绑定邮箱和手机立即绑定

Java 打印 API 向打印机发送命令

Java 打印 API 向打印机发送命令

阿波罗的战车 2021-08-04 10:24:20
我的计算机(Windows 7)上安装了一些打印机,并且在控制面板上显示良好。我想发送一些特殊命令,例如:剪切命令或条码打印命令(ESC/POS 命令)。是否可以使用 Java Print API 做到这一点?还是 Java Print API 只执行打印服务?提前致谢。
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

问题已解决:感谢 VGR。


这是一个可以帮助任何遇到相同问题的人的代码:


private PrintService printer = ...; // init this using PrintService.lookupPrintServices();


if(this.printer != null) {

        String commandToSend = "Some command\n";


        Doc myDoc = new SimpleDoc(commandToSend.getBytes(), DocFlavor.BYTE_ARRAY.AUTOSENSE, null);

        DocPrintJob job = this.printer.createPrintJob();


        try {

            job.print(myDoc, null);

        } catch (PrintException e) {

            e.printStackTrace();

        }

    }


查看完整回答
反对 回复 2021-08-04
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

不确定你是否能够解决它,但这里有一个例子


final byte[] VALIDATION_MODE = new byte[]{27, 'c', '0', 4}; // Print in validation mode

final byte[]  PAPER_FULL_CUT = {0x1d,0x56,0x00}; // Full cut paper

final byte[]  PAPER_PART_CUT = {0x1d,0x56,0x01}; // Partial cut paper


public void print(String receiptContent, String printerName) throws IOException {

        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

        

        DocPrintJob docPrintJob = selectedPrinter(printerName).createPrintJob();

        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

        

        outputStream.write(VALIDATION_MODE);

        outputStream.write(receiptContent.getBytes());

        outputStream.close();

                        

        ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

        Doc doc = new SimpleDoc(inputStream, flavor, null);

        

        try {

            docPrintJob.print(doc, null);

        } catch (PrintException e) {

            System.out.println("Error:" + e.getMessage());

        }

        System.out.println("Print Job Finished");

    }


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 352 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信