Термопринтер не печатает данные в флаттереAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Термопринтер не печатает данные в флаттере

Сообщение Anonymous »

Я разрабатываю приложение с использованием Flutter, которое может печатать квитанцию ​​об оплате. Но я купил китайский «портативный мини-принтер». модель № «X5». Этот принтер не отвечает на данные печати. соединение стабильное. после вызова метода печати результат возвращает true, но роль бумаги по-прежнему не перемещается. Этот принтер предоставляет приложение «TinyPrint» в игровом магазине. Используя приложение, он работает хорошо. и я не могу найти SDK для этого принтера. что я могу сделать прямо сейчас?
Future printTicket() async {
String? isConnected = await BluetoothThermalPrinter.connectionStatus;
if (isConnected == "true") {
List bytes = await getTicket();
// List bytes = utf8.encode("Hello, Printer!\n\n\n");
print(bytes);
// final result = await BluetoothThermalPrinter.writeBytes(bytes);
final result = await BluetoothThermalPrinter.writeText("hello there");
print("Print $result");
} else {
//Hadnle Not Connected Senario
}
}

Future getTicket() async {
List bytes = [];
CapabilityProfile profile = await CapabilityProfile.load();
final generator = Generator(PaperSize.mm58, profile);

bytes += generator.text("Demo Shop",
styles: PosStyles(
align: PosAlign.center,
height: PosTextSize.size2,
width: PosTextSize.size2,
),
linesAfter: 1);

bytes += generator.text(
"18th Main Road, 2nd Phase, J. P. Nagar, Bengaluru, Karnataka 560078",
styles: PosStyles(align: PosAlign.center));
bytes += generator.text('Tel: +919591708470',
styles: PosStyles(align: PosAlign.center));

bytes += generator.hr();
bytes += generator.row([
PosColumn(
text: 'No',
width: 1,
styles: PosStyles(align: PosAlign.left, bold: true)),
PosColumn(
text: 'Item',
width: 5,
styles: PosStyles(align: PosAlign.left, bold: true)),
PosColumn(
text: 'Price',
width: 2,
styles: PosStyles(align: PosAlign.center, bold: true)),
PosColumn(
text: 'Qty',
width: 2,
styles: PosStyles(align: PosAlign.center, bold: true)),
PosColumn(
text: 'Total',
width: 2,
styles: PosStyles(align: PosAlign.right, bold: true)),
]);

bytes += generator.row([
PosColumn(text: "1", width: 1),
PosColumn(
text: "Tea",
width: 5,
styles: PosStyles(
align: PosAlign.left,
)),
PosColumn(
text: "10",
width: 2,
styles: PosStyles(
align: PosAlign.center,
)),
PosColumn(text: "1", width: 2, styles: PosStyles(align: PosAlign.center)),
PosColumn(text: "10", width: 2, styles: PosStyles(align: PosAlign.right)),
]);

bytes += generator.row([
PosColumn(text: "2", width: 1),
PosColumn(
text: "Sada Dosa",
width: 5,
styles: PosStyles(
align: PosAlign.left,
)),
PosColumn(
text: "30",
width: 2,
styles: PosStyles(
align: PosAlign.center,
)),
PosColumn(text: "1", width: 2, styles: PosStyles(align: PosAlign.center)),
PosColumn(text: "30", width: 2, styles: PosStyles(align: PosAlign.right)),
]);

bytes += generator.row([
PosColumn(text: "3", width: 1),
PosColumn(
text: "Masala Dosa",
width: 5,
styles: PosStyles(
align: PosAlign.left,
)),
PosColumn(
text: "50",
width: 2,
styles: PosStyles(
align: PosAlign.center,
)),
PosColumn(text: "1", width: 2, styles: PosStyles(align: PosAlign.center)),
PosColumn(text: "50", width: 2, styles: PosStyles(align: PosAlign.right)),
]);

bytes += generator.row([
PosColumn(text: "4", width: 1),
PosColumn(
text: "Rova Dosa",
width: 5,
styles: PosStyles(
align: PosAlign.left,
)),
PosColumn(
text: "70",
width: 2,
styles: PosStyles(
align: PosAlign.center,
)),
PosColumn(text: "1", width: 2, styles: PosStyles(align: PosAlign.center)),
PosColumn(text: "70", width: 2, styles: PosStyles(align: PosAlign.right)),
]);

bytes += generator.hr();

bytes += generator.row([
PosColumn(
text: 'TOTAL',
width: 6,
styles: PosStyles(
align: PosAlign.left,
height: PosTextSize.size4,
width: PosTextSize.size4,
)),
PosColumn(
text: "160",
width: 6,
styles: PosStyles(
align: PosAlign.right,
height: PosTextSize.size4,
width: PosTextSize.size4,
)),
]);

bytes += generator.hr(ch: '=', linesAfter: 1);

// ticket.feed(2);
bytes += generator.text('Thank you!',
styles: PosStyles(align: PosAlign.center, bold: true));

bytes += generator.text("26-11-2020 15:22:45",
styles: PosStyles(align: PosAlign.center), linesAfter: 1);

bytes += generator.text(
'Note: Goods once sold will not be taken back or exchanged.',
styles: PosStyles(align: PosAlign.center, bold: false));
bytes += generator.cut();
return bytes;
}

я использовал пакеты:
esc_pos_utils: ^1.1.0
esc_pos_bluetooth: ^0.4.1
flutter_bluetooth_basic: ^0.1.5
bluetooth_thermal_printer: ^0.0.6


Подробнее здесь: https://stackoverflow.com/questions/791 ... in-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»