0

我想在标签打印机上使用打印产品信息。我有 Zebra TLP 2844这台打印机支持 EPL2 编程语言。当我想打印非 ASCII 字符打印机时,只需打印“?” 而不是正确的字符。我做了什么?首先,我创建了一个包含以下内容的简单文本文件

əğüçşıö

并按CTRL+P进行打印。输出正常,打印机正常打印所有字符。

但是当我使用如下 EPL2 命令时

N
A220,120,0,4,1,1,N,"əğçşıüö"
P1

我的打印机给出以下输出

??ç??üö

我怎么解决这个问题?我使用 java print api 将命令发送到我的打印机。这是我的代码

PrinterJob pj = PrinterJob.createPrinterJob();
Doc doc = new SimpleDoc(sb.toString().getBytes(), DocFlavor.BYTE_ARRAY.AUTOSENSE, null);

boolean result = false;
javax.print.PrintService printService = PrintServiceLookup.lookupPrintServices(null, null)[0];
try {
    printService.createPrintJob().print(doc, null);
} catch (PrintException e) {
    e.printStackTrace();
}
PrinterJob pj = PrinterJob.createPrinterJob();
Doc doc = new SimpleDoc(sb.toString().getBytes(), DocFlavor.BYTE_ARRAY.AUTOSENSE, null);

boolean result = false;
javax.print.PrintService printService = PrintServiceLookup.lookupPrintServices(null, null)[0];
try {
   printService.createPrintJob().print(doc, null);
} catch (PrintException e) {
   e.printStackTrace();
}
4

1 回答 1

0

这不是代码的问题,而是打印机的问题。大多数打印机的标准字体集中不包含这些字符。您要么需要使用字符的十六进制来调用它们,要么如果它们不包含在打印机上设置的字体中,请下载不同的字体。

于 2017-08-11T23:13:40.960 回答