Привет, ребята, я создаю метод для печати счета-фактуры из своего приложения, но когда я отправляю байты на печать, он не печатает все байты, которые я отправляю на принтер, последние байты все время обрезаются, что приводит к в неполной фактуре это код, который я использую в данный момент:
public void Print(string nombreImpresora, string formatoFactura)
{
var listOfDevices = BluetoothAdapter.DefaultAdapter;
if (listOfDevices == null)
throw new Exception("No Bluetooth adapter found.");
if (!listOfDevices.IsEnabled)
throw new Exception("Bluetooth adapter is not enabled.");
var device = (from bd in listOfDevices.BondedDevices
where bd.Name == nombreImpresora
select bd).FirstOrDefault();
if (device == null)
throw new Exception("Named device not found.");
BluetoothSocket socket;
var uuid = device.GetUuids()?.ElementAt(0);
if (uuid != null)
{
socket = device.CreateInsecureRfcommSocketToServiceRecord(uuid.Uuid);
}
else
{
socket = device.CreateInsecureRfcommSocketToServiceRecord(UUID.FromString("00001101-0000-1000-8000-00805f9b34fb"));
}
if (socket.IsConnected)
{
return;
}
socket.Connect();
byte[] completeBuffer = Encoding.ASCII.GetBytes(formatoFactura);
Toast.MakeText(Forms.Context, Convert.ToString(completeBuffer.Length), ToastLength.Short).Show();
var bufferSize = 256;
int completedBufferLength = completeBuffer.Length;
List<byte[]> bufferList = new List<byte[]>();
for (int i = 0; i < completedBufferLength; i = i + bufferSize)
{
byte[] val = new byte[bufferSize];
if (completedBufferLength < i + bufferSize)
{
bufferSize = completedBufferLength - i;
}
Array.Copy(completeBuffer, i, val, 0, bufferSize);
bufferList.Add(val);
}
for (int j = 0; j < bufferList.Count; j++)
{
socket.OutputStream.Write(bufferList[j], 0, bufferList[j].Length);
}
socket.Close();
socket.Dispose();
}
я отправляю строку и преобразовываю ее в байты в методе выше, строка представляет собой пользовательский счет, который я сделал с данными счета с другой страницы моего приложения. Я использую принтер Bixolon SPP-R310, на данный момент я не знаю, действительно ли это проблема, связанная с принтером. ¿Может ли кто-нибудь помочь мне с этим, пожалуйста? заранее спасибо