printing library
Oeffentliches Barrel fuer den vendierten ESC/POS-Druck-Stack.
Integratoren, die selbst Bytes bauen wollen, importieren dieses Barrel und senden das Ergebnis via KeckPrinterService.printRawBytes:
import 'package:kasseneck_api/printing.dart';
final gen = EscPosGenerator(EscPaperSize.mm80, CapabilityProfile());
final bytes = <int>[
...gen.text('Hallo', styles: const PosStyles(align: PosAlign.center)),
...gen.cut(),
];
await KeckPrinterService.printRawBytes(bytes);
Classes
- BlattLogo
- BluetoothTransport
- PrinterTransport ueber einen Bluetooth-Drucker.
- CapabilityProfile
- Minimales Ersatz-Profil fuer den ESC/POS-Generator. Statt der 66-KB- capabilities.json nur die tatsaechlich genutzten Codepages.
- CustomPrintJob
- Sammelt mehrere Custom-Druckbefehle und baut daraus EINEN Byte-Strom, der mit KeckPrinterService.printJob in einem einzigen Sendevorgang gedruckt wird (fuer Bluetooth deutlich robuster als viele Einzel-Sends).
- DruckLogo
-
Firmenlogo fuer den Druck: Stufe, Pixelmass des Originals und das fertige
Rasterbild aus logoRaster (Zwilling von
DruckLogoim npm-Paket). - EscPaperSize
- EscPosGenerator
- KeckPrinter
- Einheitliche Druck-Fassade ueber einer PrinterTransport.
- KeckPrinterService
- KeckPrintResult
- Ergebnis eines direkten Druckvorgangs (z. B. KeckPrinterService.printRawBytesWifi).
- LogoRaster
- PosColumn
- Column contains text, styles and width (an integer in 1..12 range) containsChinese not used if the text passed as textEncoded
- PosStyles
- Text styles
- PosTextSize
- PrinterTransport
- Transport-Abstraktion fuer den ESC/POS-Druck.
- PrintPaper
- QRCode
- QRCorrection
- QrGroesse
- Ergebnis der Modulgroessen-Rechnung.
- QrMass
- Die Rechenregel fuer die Modulgroesse des Beleg-QR — rein, ohne Drucker.
- QRSize
- RasterImage
- Einfaches RGBA-Bild (4 Bytes/Pixel: R,G,B,A) als Ersatz fuer image.Image. Bewusst minimal — nur was der Druckpfad braucht.
- WifiTransport
- PrinterTransport ueber einen WLAN-/Netzwerkdrucker (Roh-TCP, Port 9100).
Enums
- BarcodeHri
-
Position der HRI-Klartextzeichen (Human Readable Interpretation) relativ
zum Barcode. Der Wert geht als n in
GS H n. - BarcodeType
-
1D-Barcode-Symbologien fuer GS k (Form 2). Der Wert m ist der
ESC/POS-Selektor (65..73) im Befehl
GS k m n <payload>. - KeckPaperSize
- LogoStufe
- PosAlign
- PosCutMode
- PosDrawer
- PosFontType
- PosImageFn
- bitImageRaster: GS v 0 (obsolete); graphics: GS ( L
- QrModulGroesse
- Wie gross die Module des Beleg-QR werden duerfen — ein Deckel, keine Vorgabe: gedruckt wird immer die groesste Groesse, die noch aufs Papier passt, hoechstens aber diese hier.
- QrPrintMode
- Druckmodus für den Beleg-QR-Code.
Extensions
- KasseQrModusDruck on KasseQrModus
- Der eingestellte QR-Modus des Geräts als Druckbefehl.
Constants
- logoPixelMax → const int
-
Obergrenze der Rohpixel, die logoRaster noch anfasst (Zwilling von
LOGO_PIXEL_MAXim Druck-Kit der Browser-Kasse). Die Flaechenmittel- Schleife in logoRaster laeuft synchron ueberpxBreite x pxHoehe-- bei einem stark komprimierten Logo unter der Upload-Grenze (1 MB), das trotzdem auf z. B. 6000x6000 Rohpixel entpackt, blockiert das den UI-Isolate weit laenger als die Drei-Sekunden-Hausregel;Future.timeoutinladeDruckLogokann laufenden synchronen Code nicht unterbrechen. Eigene, pure Funktion, damit die Grenze ohne echtes Bild testbar ist.
Functions
-
ladeDruckLogo(
String? url, LogoStufe stufe, KeckPaperSize papier, {PixelLader? pixel, Duration frist = const Duration(seconds: 3)}) → Future< DruckLogo?> -
Laedt das Logo unter
urlund rastert es in die Groesse, die das Blattstufeundpapiergeben (logoMass/logoRaster) --nullohne Adresse oder bei jedem Fehler (Netz, Decode, Pixelmass).pixelersetzt den Standardweg ueber LogoService/decodePng(Tests, andere Quellen). -
logoMass(
BlattLogo logo, int zeichen) → LogoMass - Ins Kaestchen der Stufe eingepasst, nie hochgerechnet (1 Bildpixel hoechstens 1 Druckpunkt).
-
logoPixelZulaessig(
int breite, int hoehe) → bool -
true, wenn logoRaster das Bild noch anfassen darf. -
logoRasterMass(
LogoMass mass, int zeichen) → ({int breite, int hoehe})