как печатать арабские символы и штрих-код с помощью принтера Xamarin Android Bluetooth. модель принтера Star L300

#c# #xamarin #printing #xamarin.android #arabic

#c# #ксамарин #печать #xamarin.android #Арабский #xamarin

Вопрос:

Мне нужно разработать приложение для Android, которое подключается к принтеру Star L300 через Bluetooth, оно отлично работает для английского языка. Но когда я перехожу к арабским символам, он печатает их неправильно. Я пробую различные кодировки (UTF-8, UTF-7, UTF-32, ASCII, BigEndianUnicode) для outputstream при записи на принтер, но, к сожалению, ничего не работает.

Кроме того, штрих-код Есть какие-либо предложения о том, как распечатать штрих-код с помощью того же принтера Bluetooth (Star L300)?

Не могли бы вы, пожалуйста, помочь. Вот код, который я использовал…

 var datastream = mmSocket.OutputStream;

//I tried two different ways but it's not working
byte[] byteArray1 = Encoding.UTF8.GetBytes("nAlamer"   "nnBarcode: "   barcode  "nName: "   ItName "nPrice: " Price "nUnit: " Unit);

byte[] byteArray =Encoding.GetEncoding("UTF-8").GetBytes("Star Clothing Boutiquen"  "123 Star Roadn"  "City, هلا 12345n"  "n");

byte[] bb = Encoding.GetEncoding("ASCII").GetBytes("{BStar.");

//printing 1
datastream.Write(byteArray, 0, byteArray.Length);
datastream.Write(bb, 0, bb.Length);
  

Вот код, который я использовал для печати штрих-кода

 var barcodeWritter = new ZXing.Mobile.BarcodeWriter
{
    Format = ZXing.BarcodeFormat.CODE_128,
    Options = new ZXing.Common.EncodingOptions
    {
        Width = 700,
        Height = 200
    }
};
Bitmap barcodes = barcodeWritter.Write(Intent.GetStringExtra("Code") ?? string.Empty);
PrintImage(barcodes);
  

Комментарии:

1. Не уверен насчет SM-L300, но другие SMS из этого бюджетного диапазона поддерживают английский и двухбайтовые наборы символов CJK, вам нужно будет посмотреть спецификацию этой модели, чтобы увидеть, что она поддерживает.. К вашему сведению: их более крупные POS-принтеры поддерживают загружаемые шрифты. К вашему сведению: Вы могли бы преобразовать строку Unicode в растровое изображение и распечатать ее с помощью Android StarPRNT SDK ( AppendBitmap(....) ). Вы также можете посмотреть API AppendInternational и AppendCodePage StarPRNT, но я никогда не помню, чтобы поддерживался арабский язык.

2. Вы читали документы? Имеется встроенная поддержка печати штрих-кодов, а также арабских кодовых страниц. starasia.com/Download/Manual/starPRNT_cm_en.pdf