models/receipt_sheet library
Das Beleg-Blatt (Zwilling von receiptSheet in @kreiseck/kasseneck-api
ab 0.14.0): die vollstaendige Folge dessen, was auf dem Papier steht --
Rasterzeilen, Firmenlogo, QR und Marke, Groessen als Anteil der Blattbreite
und in Zeilen. Jeder Zeichner (Bon, Bildschirm) setzt nur noch das Blatt.
Masseinheit ist der Druckkopf: ein Zeichen 12 Punkte, eine Zeile 24.
Die Goldens test/fixtures/vertrag/expected/*.sheet32.json|sheet48.json
halten beide Seiten gleich; die Rechenreihenfolge nicht umstellen.
Classes
- LogoDimensions
- ReceiptSheet
- SheetBlock
- SheetBrandMark
- Das Kasseneck-Logo am Belegende, als Rasterbild fest in width x height Druckpunkten -- diese Masse kommen aus brandMarkRasters, nicht aus einem Anteil der Blattbreite: das Raster liegt fertig vor (Vertrag), nur welches der beiden Masse gilt, entscheidet die Papierbreite.
- SheetLine
- SheetLogo
- SheetLogoBlock
- SheetQr
Enums
Constants
- dotsPerChar → const int
- dotsPerLine → const int
Functions
-
logoDimensions(
SheetLogo logo, int chars) → LogoDimensions - Ins Kaestchen der Stufe eingepasst, nie hochgerechnet (1 Bildpixel hoechstens 1 Druckpunkt).
-
logoRasterSize(
LogoDimensions dimensions, int chars) → ({int height, int width}) -
paperSizeForChars(
int chars, String fallback) → KeckPaperSize -
qrFitsInVersion(
String payload) → bool -
Ob
payloadin irgendeine QR-Version bei Korrektur M passt -- dieselbe Tabelle wie qrModuleCount, aber ohne zu werfen (npmqrPasstInVersion). -
qrModuleCount(
String payload) → int -
qrSheetWidthFraction(
String payload, KeckPaperSize paper, {QrModuleSize moduleSize = QrModuleSize.auto}) → double - Anteil der Blattbreite, den der QR am Drucker einnimmt (nativ, sonst Bildweg).
-
receiptSheet(
ReceiptLayout layout, {int? charsPerLine, SheetLogo? logo, bool brandMark = false, QrModuleSize qrModuleSize = QrModuleSize.auto}) → ReceiptSheet