我从Web服务收到一个String,我想在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);
}
这在意大利系统中效果很好,但是当我在客户的西班牙语打印机上打印时结果却不一样。
我的打印机的协议和字符集与我的客户打印机相同。
出了什么问题,我该如何解决?