139 lines
6.2 KiB
Dart
139 lines
6.2 KiB
Dart
import 'dart:convert';
|
||
import 'dart:typed_data';
|
||
|
||
import 'package:esc_pos_utils/esc_pos_utils.dart';
|
||
import 'package:flutter/services.dart';
|
||
import 'package:image/image.dart' as Im;
|
||
|
||
Future<Ticket> testTicket(PaperSize paper) async {
|
||
final Ticket ticket = Ticket(paper);
|
||
|
||
//Uint8List encTxt11 = await CharsetConverter.encode("cp866", "Russian: Привет Мир!");
|
||
//ticket.textEncoded(encTxt11, styles: PosStyles(codeTable: PosCodeTable.pc866_2));
|
||
//ticket.textEncoded(encTxt11);
|
||
|
||
// ticket.text('Special 1: àÀ', styles: PosStyles(codeTable: PosCodeTable.westEur)); //А
|
||
// ticket.text('Special 1: á'.toUpperCase(), styles: PosStyles(codeTable: PosCodeTable.westEur));// Б
|
||
// ticket.text('Special 1: â', styles: PosStyles(codeTable: PosCodeTable.westEur)); //В
|
||
// ticket.text('Special 1: ã', styles: PosStyles(codeTable: PosCodeTable.westEur));// Г
|
||
// ticket.text('Special 1: äÄ', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Д
|
||
// ticket.text('Special 1: å', styles: PosStyles(codeTable: PosCodeTable.westEur));// Е
|
||
// ticket.text('Special 1: æÆ', styles: PosStyles(codeTable: PosCodeTable.westEur));// Ж
|
||
// ticket.text('Special 1: ç', styles: PosStyles(codeTable: PosCodeTable.westEur));//З
|
||
// ticket.text('Special 1: èÈ', styles: PosStyles(codeTable: PosCodeTable.westEur)); // И
|
||
// ticket.text('Special 1: éÉ', styles: PosStyles(codeTable: PosCodeTable.westEur)); // Й
|
||
// ticket.text('Special 1: ê', styles: PosStyles(codeTable: PosCodeTable.westEur));//К
|
||
// ticket.text('Special 1: ëË', styles: PosStyles(codeTable: PosCodeTable.westEur)); // Л
|
||
// ticket.text('Special 1: ìÌ', styles: PosStyles(codeTable: PosCodeTable.westEur));// M
|
||
// ticket.text('Special 1: íÍ', styles: PosStyles(codeTable: PosCodeTable.westEur)); // Н
|
||
// ticket.text('Special 1: î', styles: PosStyles(codeTable: PosCodeTable.westEur));// О
|
||
// ticket.text('Special 1: ï', styles: PosStyles(codeTable: PosCodeTable.westEur)); // П
|
||
// ticket.text('Special 1: ð', styles: PosStyles(codeTable: PosCodeTable.westEur));// Р
|
||
// ticket.text('Special 1: ñ', styles: PosStyles(codeTable: PosCodeTable.westEur));// С
|
||
// ticket.text('Special 1: ò', styles: PosStyles(codeTable: PosCodeTable.westEur)); // Т
|
||
// ticket.text('Special 1: óÓ', styles: PosStyles(codeTable: PosCodeTable.westEur)); //У
|
||
// ticket.text('Special 1: ô', styles: PosStyles(codeTable: PosCodeTable.westEur));// Ф
|
||
// ticket.text('Special 1: õÕ', styles: PosStyles(codeTable: PosCodeTable.westEur));// Х
|
||
// ticket.text('Special 1: ö', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Ц
|
||
// ticket.text('Special 1: ÷', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Ч
|
||
// ticket.text('Special 1: ø', styles: PosStyles(codeTable: PosCodeTable.westEur));//Ш
|
||
// ticket.text('Special 1: ù', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Щ
|
||
// ticket.text('Special 1: ú', styles: PosStyles(codeTable: PosCodeTable.westEur));//Ъ
|
||
// ticket.text('Special 1: û', styles: PosStyles(codeTable: PosCodeTable.westEur));//Ы
|
||
// ticket.text('Special 1: üÜ', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Ь
|
||
// ticket.text('Special 1: ý', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Э
|
||
// ticket.text('Special 1: þ', styles: PosStyles(codeTable: PosCodeTable.westEur)); // ю
|
||
// ticket.text('Special 1: ÿß', styles: PosStyles(codeTable: PosCodeTable.westEur)); //Я
|
||
|
||
// Uint8List encTxt11 = await CharsetConverter.encode("cp866", "Russian: Привет Мир!");
|
||
// //ticket.textEncoded(encTxt11, styles: PosStyles(codeTable: PosCodeTable.pc866_2));
|
||
// ticket.textEncoded(encTxt11);
|
||
|
||
ticket.text(
|
||
'Regular: aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ');
|
||
//ticket.text('Special 1: àÀ èÈ éÉ ûÛ üÜ çÇ ôÔ', styles: PosStyles(codeTable: PosCodeTable.westEur));
|
||
//ticket.text('Special 2: blåbærgrød', styles: PosStyles(codeTable: PosCodeTable.westEur));
|
||
|
||
ticket.text('Bold text', styles: PosStyles(bold: true));
|
||
ticket.text('Reverse text', styles: PosStyles(reverse: true));
|
||
ticket.text('Underlined text',
|
||
styles: PosStyles(underline: true), linesAfter: 1);
|
||
ticket.text('Align left', styles: PosStyles(align: PosAlign.left));
|
||
ticket.text('Align center', styles: PosStyles(align: PosAlign.center));
|
||
ticket.text('Align right',
|
||
styles: PosStyles(align: PosAlign.right), linesAfter: 1);
|
||
|
||
ticket.row([
|
||
PosColumn(
|
||
text: 'col3',
|
||
width: 3,
|
||
styles: PosStyles(align: PosAlign.center, underline: true),
|
||
),
|
||
PosColumn(
|
||
text: 'col6',
|
||
width: 6,
|
||
styles: PosStyles(align: PosAlign.center, underline: true),
|
||
),
|
||
PosColumn(
|
||
text: 'col3',
|
||
width: 3,
|
||
styles: PosStyles(align: PosAlign.center, underline: true),
|
||
),
|
||
]);
|
||
|
||
ticket.text('Text size 200%',
|
||
styles: PosStyles(
|
||
height: PosTextSize.size2,
|
||
width: PosTextSize.size2,
|
||
));
|
||
|
||
// Print image
|
||
//final ByteData data = await rootBundle.load('assets/images/logo.png');
|
||
//final Uint8List bytes = data.buffer.asUint8List();
|
||
// Print image using alternative commands
|
||
// ticket.imageRaster(image);
|
||
// ticket.imageRaster(image, imageFn: PosImageFn.graphics);
|
||
|
||
// Print barcode
|
||
final List<int> barData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 4];
|
||
ticket.barcode(Barcode.upcA(barData));
|
||
|
||
|
||
|
||
ticket.feed(2);
|
||
|
||
ticket.cut();
|
||
return ticket;
|
||
}
|
||
|
||
Future<Ticket> testTicketImage(PaperSize paper) async {
|
||
final Ticket ticket = Ticket(paper);
|
||
|
||
// Print image
|
||
final ByteData byteData = await rootBundle.load('assets/images/check.png');
|
||
final Uint8List bytes = byteData.buffer.asUint8List();
|
||
final Im.Image imagea = Im.decodeImage(bytes);
|
||
// Using `ESC *`
|
||
//ticket.image(imagea);
|
||
// Using `GS v 0` (obsolete)
|
||
//ticket.imageRaster(imagea);
|
||
// Using `GS ( L`
|
||
ticket.imageRaster(imagea, imageFn: PosImageFn.bitImageRaster);
|
||
|
||
|
||
|
||
ticket.feed(2);
|
||
|
||
ticket.cut();
|
||
return ticket;
|
||
}
|
||
|
||
Future<Ticket> printImageCheck(PaperSize paper, String base64Src) async {
|
||
final Ticket ticket = Ticket(paper);
|
||
final Uint8List bytes = base64Decode(base64Src);
|
||
final Im.Image image = Im.decodeImage(bytes);
|
||
ticket.imageRaster(image, imageFn: PosImageFn.bitImageRaster);
|
||
ticket.feed(2);
|
||
ticket.cut();
|
||
return ticket;
|
||
} |