我从 Web 服务收到一个字符串,我想在 ESC/POS 打印机上打印它。我试过这个:
private void print()
{
PrintService ps = getPrinter(deviceSystemName);
byte[] commandByteArray = decodeReceiptCommandString();
DocFlavor df = DocFlavor.INPUT_STREAM.AUTOSENSE;
ByteArrayInputStream pis = new ByteArrayInputStream(commandByteArray);
Doc d = new SimpleDoc(pis, df, null);
if (ps != null) {
DocPrintJob job = ps.createPrintJob();
job.print(d, null);
}
}
private byte[] decodeReceiptCommandString()
{
String encoding = "Cp850";
String commandString = new String(this.receipt.getString("stringa"));
return commandString.getBytes(encoding);
}
这在意大利系统中运行良好,但是当我在客户的西班牙打印机上打印时,结果就不一样了。
我的工作打印:
在我客户的打印机上打印:
我的打印机的协议和字符集与我的客户打印机相同。
出了什么问题,我该如何解决?