2017-09-07 1 views
0

Je rencontre des problèmes lors de l'impression de caractères chinois à l'aide de RawPrinterHelper. Je suis capable d'imprimer mon reçu correctement en utilisant PrintDocument mais seulement comme XPS et txt.Impression de caractères chinois sur un reçu de point de vente à l'aide de RawPrinterHelper

La chaîne est convertie en un tableau d'octets qui est envoyé à RawPrinterHelper. Le problème est qu'un caractère chinois est égal à 3 octets. Donc, quand il est imprimé, il affiche 3 caractères aléatoires.

Ex: chinois est lorsqu'il est converti en octet est {} 229164167 et lors de l'impression: 大

L'imprimante reçu que je l'utilise pour l'impression est: EPSON TM-U220 et POSTECH RP76III

+0

vous avez Semble problème d'encodage de chaîne (UTF-8/Unicode traité sous forme de chaîne ANSI). Pouvez-vous donner quelques morceaux de code pertinents et la sortie donnée par 'RawPrinterHelper'? –

+0

Vous devrez lire le manuel de programmation. Il y a une commande qui change le jeu de caractères actif. –

Répondre

0

Avant d'essayer d'imprimer des caractères chinois, vous devez activer le mode chinois. Je le fais avec Java mais probablement il devrait être similaire.

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

Vous trouverez plus d'informations à ce sujet sur les spécifications de l'imprimante. La commande ci-dessus est: FS &

enter image description here