gpt4 book ai didi

java - 将转义码(原始数据)发送到打印机的正确方法

转载 作者:行者123 更新时间:2023-12-04 05:23:40 25 4
gpt4 key购买 nike

在更大的应用程序的上下文中,我的小程序需要将一些数据打印到 Zebra 或 Dymo(取决于用户安装的内容)标签打印机。

我收到的数据是转义形式,我只需要发送到打印机并让它解释它的数据。

搜索我找到了两个解决方案。
方法一:

byte[] printdata;
PrintService pservice = PrintServiceLookup.lookupDefaultPrintService(); //or get the printer in some other way
DocPrintJob job = pservice.createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(printdata, flavor, null);

和方法2:
PrintStream printStream = new PrintStream(new FileOutputStream(“LPT1”));
printStream.print(“Hello World”);
printStream.close();

我需要它跨平台工作,打印机使用 USB 或串行端口。
实现这种行为的正确方法是什么?

方法 2 的一个问题是我需要以相同的方式找到打印机的 URL...

最佳答案

public String rawprint(String printerName, String conte) {
String res = "";
PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
printServiceAttributeSet.add(new PrinterName(printerName, null));
PrintService printServices[] = PrintServiceLookup.lookupPrintServices(null, printServiceAttributeSet);
if (printServices.length != 1) {
return "Can't select printer :" + printerName;
}
byte[] printdata = conte.getBytes();
PrintService pservice = printServices[0];
DocPrintJob job = pservice.createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(printdata, flavor, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
try {
job.print(doc, aset);
} catch(Exception e){
res = e.getMessage();

}
return res;
}

在 javafx 中工作很酷

关于java - 将转义码(原始数据)发送到打印机的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13453025/

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