KeckPrinterService class

Constructors

KeckPrinterService()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

devicePrinter → BluetoothDevice
no setter
ipAddress ↔ String?
getter/setter pair
lastQrError → String?
Der QR-Ausfall des zuletzt gesetzten Belegs — null, solange alles gut ging. Der QR ist gesetzlich gefordert; ein Bon ohne ihn muss beim Aufrufer ankommen, damit der nachdrucken oder den Beleg elektronisch ausgeben kann.
no setter
lastQrFallback → String?
Der QR des zuletzt gebauten Belegs musste auf anderem Weg entstehen -- null, solange nichts abgewichen ist. Gilt dieselbe Buchfuehrung wie fuer lastQrError: gesetzt bei jedem Bau ueber getBytesFromReceipt oder getMyPosPaperFromReceipt, auch auf null, und von getPaperFromReceipt ausdruecklich nicht angeruehrt.
no setter
logoLoader ↔ Future<PrintLogo?> Function(String? url, SheetLogoSize size, KeckPaperSize paper)
Holt das Firmenlogo fuer den Druck -- austauschbar fuer Tests.
getter/setter pair
paperSize ↔ KeckPaperSize
getter/setter pair
port ↔ int
getter/setter pair
profile → CapabilityProfile?
no setter

Static Methods

cut() → Future<void>
Schneidet das Papier ab (falls vom Drucker unterstuetzt).
feed(int n) → Future<void>
Papiervorschub um n Zeilen.
getBytesFromReceipt(KasseneckReceipt receipt, KeckPaperSize paperSize, {QrPrintMode qrMode = QrPrintMode.imageRaster, QrModuleSize qrModuleSize = QrModuleSize.auto, CodeTableId? codeTable, bool brandMark = false}) → Future<List<Uint8List>>
Die Bytes aus getPaperFromReceipt; setzt dazu lastQrError und lastQrFallback. Das Logo kommt aus receipt.logoUrl -- logo greift nur noch als Rueckfallebene fuer Belege ohne Logo-Adresse. Passt das Logo aus receipt.logoUrl nicht zum Blatt, druckt der Bon ohne Logo weiter; ein fuer eine andere Papierbreite gerastertes, ausdruecklich uebergebenes logo wirft weiterhin ArgumentError, bevor ein Byte entsteht.
getMyPosPaperFromReceipt(KasseneckReceipt receipt, {bool brandMark = false}) → Future<MyPosPaper>
Das Papier fuer den myPOS-Terminaldruck. Gesetzt wird auf dem statischen paperSize (aus initWifiPrinter/initBluetoothPrinter, sonst 58 mm) -- das Logo kommt aus receipt.logoUrl, logo greift nur noch als Rueckfallebene fuer Belege ohne Logo-Adresse. Passt das Logo aus receipt.logoUrl nicht zu dieser Breite, druckt der Bon ohne Logo weiter; ein ausdruecklich uebergebenes logo wirft weiterhin ArgumentError, bevor ein Byte entsteht.
getPaperFromReceipt(KasseneckReceipt receipt, KeckPaperSize paperSize, {QrPrintMode qrMode = QrPrintMode.imageRaster, QrModuleSize qrModuleSize = QrModuleSize.auto, CodeTableId? codeTable, bool brandMark = false}) → Future<PrintPaper>
Setzt receipt als Beleg und gibt das fertige Papier zurueck -- die eine Stelle, an der PrintPaper fuer einen Beleg entsteht.
initBluetoothPrinter({KeckPaperSize size = KeckPaperSize.mm58, required String printerAddress}) → Future<bool>
initWifiPrinter(String ipAddress, KeckPaperSize size, {int port = 9100}) → Future<bool>
openCashDrawer() → Future
openDrawer() → Future<void>
Oeffnet die Kassenlade am aktiven Drucker.
printJob(CustomPrintJob job) → Future<void>
Druckt einen zusammengesetzten Auftrag in EINEM Sendevorgang (bevorzugt fuer Bluetooth — ein einziger Byte-Strom statt vieler Writes).
printQr(String data, {int size = 4}) → Future<void>
Druckt einen QR-Code und sendet ihn sofort. size entspricht den nativen ESC/POS-QR-Groessen 1–8.
printRawBytes(List<int> bytes) → Future<void>
Sendet beliebige, bereits fertige ESC/POS-Bytes an den aktiven Drucker.
printRawBytesWifi(List<int> bytes, {required String ip, int port = 9100, Duration timeout = const Duration(seconds: 5)}) → Future<KeckPrintResult>
Sendet fertige ESC/POS-Bytes direkt an einen WiFi-Drucker — ohne den globalen aktiven Drucker zu verändern. Liefert Erfolg/Fehler zurück.
printReceiptBluetooth(KasseneckReceipt receipt, {QrPrintMode qrMode = QrPrintMode.imageRaster, QrModuleSize qrModuleSize = QrModuleSize.auto}) → Future
printReceiptMypos(KasseneckReceipt receipt) → Future<PrintResponse>
printReceiptWifi(KasseneckReceipt receipt) → Future
printText(String text, {PosStyles? styles}) → Future<void>
Druckt einen Text (mit optionalen styles) und sendet ihn sofort.