2017-02-04 89 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

它不與代碼的問題是與打印機的問題。大多數打印機不會在標準字體集中包含這些字符。您需要使用角色的十六進制來調用它們,或者如果它們不包含在打印機上的字體集中,請下載不同的字體。