Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Skrivare (receiptprinter)

Kassan skriver inte själv till skrivaren. Den bygger en kvittolayout och skickar den till receiptprinter, ett eget program som kan köra på samma maskin eller på en annan (config/printer_service.json). receiptprinter gör om layouten till det skrivaren förstår.

kassan ──HTTP──> receiptprinter ──> USB (ESC/POS eller StarPRNT)
                                ──> Windows skrivarkö (RAW)
                                ──> seriellt (CHD6800:s inbyggda)
                                ──> nätverk, TCP 9100
                                ──> Worldline-terminalens skrivare (REST)
                                ──> PDF (A4: verifikationer, export)

Välja skrivare

Valet görs med flaggor när receiptprinter startas. Bara en skrivare per process.

skrivareflaggorskriver
USB, ESC/POS (TH508, SNBC m.fl.)--usb-vendor <id> --usb-product <id> (--usb-list visar)bild
USB, Star mC-Print2samma + --dialect starbild
Nätverksskrivare--net-printer <ip>[:9100] (+ --dialect)bild
CHD6800 (inbyggd)--serial-http --serial-port /dev/ttymxc4text
Worldline-terminalen--worldline <nycklar.json>text och QR
Windows skrivarkö--windows-printer "<kö>" (--windows-printer-list visar)bild

Övriga flaggor: --http :8080 (port som kassan skickar till), --width 576 (punkter; 576 för 80 mm, 384 för 58 mm), --cut/--no-cut, --feed 4, --asset-dir assets (loggan).

Språket ska anges, inte gissas. En Star-skrivare i StarPRNT-läge ignorerar ESC/POS-bilder tyst: den svarar OK och skriver ingenting. Ange därför alltid --dialect star för Star.

Inställningssidan /setup

Startas receiptprinter med --config <fil> står skrivarvalet i filen, och kan ändras på http://<receiptprinter>/setup (lösenord R-go-go, byts på sidan). Sidan hittar Windows skrivarköer, USB-enheter och skrivare i nätet, och skriver ut en provsida. Ändringen gäller från nästa utskrift. Finns filen inte skapas den från flaggorna vid start.

Samma sida ställer in CleanCash (kontrollenheten på en serieport, nåbar för kassan som WebSocket, normalt 127.0.0.1:8765) och en seriell skanner (koderna skickas till kassans /device_event). Serieportarna öppnas vid start; knappen “Starta om tjänsten” avslutar receiptprinter så att Windows-tjänsten (rgo-service) startar den igen. HTTP-adress och kataloger styrs fortfarande av flaggorna.

Windows: skrivarkön

I Windows är skrivarkön förvalet. Skrivaren installeras med sin vanliga drivrutin och receiptprinter lämnar kvittot till kön som ett RAW-jobb - samma bytes som över USB, men utan att drivrutinen behöver bytas mot WinUSB, och skrivaren går fortfarande att använda från andra program. Drivrutinen måste släppa igenom RAW (tillverkarens eller “Generic / Text Only”).

Bild eller text

De flesta skrivare får kvittot som en bild - samma bild oavsett väg, med logga och QR-kod. Två skrivare får text i stället:

  • CHD6800 - bilden blir för långsam över dess seriella port.
  • Worldline-terminalen - den tar inte emot bilder alls.

Med text blir kolumnerna utfyllda med mellanslag, och fet stil och dubbel höjd finns. Loggan kommer ändå med på CHD6800: den lagras i skrivarens eget minne och skrivs därifrån, så den behöver inte skickas som bild. Bara Worldline-terminalen skriver ingen logga.

Worldline-terminalens skrivare

En långsam och begränsad skrivare, men den finns där kortterminalen står.

  • 60 mm, ingen kniv - kvittot rivs av för hand.
  • Text, fet, dubbel höjd, å/ä/ö: fungerar.
  • QR-kod fungerar (tillgodokvitton).
  • Ingen logga och ingen bild - terminalen tolkar bara sitt eget textformat.
  • Ett kvitto tar 2-3 sekunder; terminalen svarar först när det är utskrivet.
  • Nyckelfilen är samma som kassans config/worldline_keys.json.
  • Tecken per rad: --worldline-width-chars (standard 34, uppmätt). Dubbel storlek ryms 16 tecken.
  • Får terminalen ett kortköp startat på själva terminalen svarar den “upptagen” (503) på utskrifter tills köpet avbryts där.

Kassalåda

Kassalådan öppnas via skrivaren. Fungerar i dag med nätverksskrivare (Star). Worldline-terminalen har ingen kassalådeport.

Fler detaljer

Teknisk översikt över alla vägar, status och kända egenheter per skrivare: docs/skrivarvagar.md i källkoden.