models/beleg_raster library
Zeichenraster (Zwilling von renderReceiptGrid im JS-Paket
@kreiseck/kasseneck-api): der Beleg als Zeilen mit exakt N Zeichen
(58 mm = 32, 80 mm = 48) — die eine Wahrheit für Bildschirm, Bondruck und
PDF. Regeln (fest, damit überall dasselbe herauskommt):
- Spalten in Zwölfteln → ganze Zeichen (
floor(N*w/12), Rest an die letzte, jede mindestens 1); zwischen zwei Spalten immer mindestens ein Leerzeichen (letztes Zeichen jeder nicht-letzten Spalte); die letzte Spalte endet bündig am rechten Rand. - Text/Aufdruck/Spalteninhalt bricht wortweise (letztes Leerzeichen innerhalb der Breite, Leerzeichen fällt weg; ohne Leerzeichen hart).
- Trennlinie über die volle Breite, Leerraum als Leerzeilen, QR als eigene
Zeile mit Nutzlast (der Zeichner setzt das Bild).
Die Golden-Dateien
test/fixtures/belege/erwartet/*.grid32.txt|grid48.txtdes JS-Pakets halten beide Seiten zeichengenau gleich.
Classes
Enums
Constants
- zeichen58mm → const int
- zeichen80mm → const int
Functions
-
rasterSpaltenBreiten(
List< int> zwoelftel, int zeichen) → List<int> - Zwölftel → Zeichen je Spalte (ganze Zeichen, Rest an die letzte, mindestens 1).
-
wortzeilen(
String text, int max) → List< String> -
Wortweiser Umbruch auf höchstens
maxZeichen (Zwilling vonwortzeilenText): geschütztes Leerzeichen bricht nie (wird als Leerzeichen ausgegeben), ein überlanges Wort bricht nach einem Bindestrich, sonst hart.