2017-02-04 60 views
0

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

əğüçşıö

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

但是当我使用EPL2命令,如下面

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

我的打印机给出了下面的输出

?? C 22 UO

我怎样才能解决这个问题?我使用java打印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(); 
} 

回答

0

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