startPrint static method
Future<bool>
startPrint({
- required Uint8List data,
- required String macAddress,
- required String printerName,
- required PrinterType printerType,
- required int width,
- int printingTimes = 1,
- int timeout = 120,
- int? feed,
- Future<
void> onPrinting(- PrintingStatus result
Implementation
static Future<bool> startPrint(
{required Uint8List data,
required String macAddress,
required String printerName,
required PrinterType printerType,
required int width,
int printingTimes = 1,
int timeout = 120,
int? feed,
Future<void> Function(PrintingStatus result)? onPrinting}) async {
try {
log("printing times: $printingTimes ");
for (var i = 0; i < printingTimes; i++) {
dynamic result =
await platform.invokeMethod('printImage', <String, dynamic>{
'bytes': data,
'macAddress': macAddress,
'feed': feed ?? 2,
'name': printerName,
'printerType': printerType.name,
'width': width
}).timeout(Duration(seconds: timeout));
_parseResult(result: result, onPrinting: onPrinting);
await Future.delayed(const Duration(seconds: 2));
}
if (onPrinting != null) {
await onPrinting(PrintingStatus.success);
}
return true;
} on PlatformException catch (e) {
log("Printing PlatformException: ${e.toString()}");
if (onPrinting != null) {
await onPrinting(PrintingStatus.platformException);
}
return false;
} on Exception catch (e) {
log("Printing Exception: ${e.toString()}");
if (onPrinting != null) {
await onPrinting(PrintingStatus.exception);
}
return false;
}
}