Skip to content

Instantly share code, notes, and snippets.

@brasizza
Created September 6, 2024 03:29
Show Gist options
  • Save brasizza/c105f92952860608405022bcdbe2b047 to your computer and use it in GitHub Desktop.
Save brasizza/c105f92952860608405022bcdbe2b047 to your computer and use it in GitHub Desktop.
import 'dart:convert';
import 'dart:typed_data';
import 'package:epocpdv/src/core/printers/i_printers.dart';
import 'package:pos_package/components/printer.dart';
class PosRedePrinter implements InterfacePrinters {
static PosRedePrinter? _instance;
final PrinterPosPackage _printer = PrinterPosPackage.i;
bool result = false;
PosRedePrinter._();
static PosRedePrinter get instance {
_instance ??= PosRedePrinter._();
return _instance!;
}
@override
Future<bool> connect() async {
result = true;
return true;
}
@override
Future<bool> disconnect() async {
result = false;
return true;
}
@override
bool get isConnected => (result);
@override
int paperSize = 58;
@override
double printerWidth = 320;
@override
double pixelRate = 2.0;
@override
Future<void> print(List<Uint8List> data) async {
if (isConnected) {
for (var image in data) {
String imageBase64 = base64Encode(image);
await _printer.printImage(imageBase64: imageBase64);
}
}
}
@override
String? ip;
@override
int? port;
@override
double printerMaxHeight = 2000;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment