2017-09-07 92 views
0

使用RawPrinterHelper收到收据时无法打印中文字符。我能够使用PrintDocument正确打印我的收据,但只能作为XPS和txt。使用RawPrinterHelper在POS收据上打印汉字

将字符串转换为发送到RawPrinterHelper的字节数组。问题是一个汉字等于3个字节。所以当它被打印时,它会显示3个随机字符。

例: 中国字符是当转换为一个字节是{229164167}和打印时:大

,我使用用于打印的收据打印机是:EPSON TM-U220和POSTECH RP76III

+0

似乎您已字符串编码问题(UTF-8/Unicode作为ANSI字符串处理的)。你能给出一些相关的代码片段和'RawPrinterHelper'给出的输出吗? –

+0

你必须阅读编程手册。有一个命令可以切换活动字符集。 –

回答

0

在尝试打印中文字符之前,您必须启用中文模式。我用Java来做,但可能它应该是类似的。

addTwoArrays(byteArrayOf(0x1c,0x26), toBytes(chineseText,"CP936")) 

有关打印机规格的更多信息, 上述命令是:FS &

enter image description here