javaprinter über CUPS: Nur Logo wird gedruckt

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
Joe
Beiträge: 7
Registriert: Mo 11. Apr 2022, 08:31

javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von Joe »

Hallo zusammen, Hallo Stefan,

ich versuche aktuell einen günstigen Thermodrucker (HOIN HOP - H58) als Bon-Drucker zu nutzen.
Ich habe den Drucker über CUPS eingerichtet und kann sowohl die CUPS-Test-Page drucken als auch irgendwelche Text-Files mittels lpr.

Wenn ich nun allerdings Versuche den Drucker mit dem javaprinter (über CUPS) zu nutzen, dann druckt dieser lediglich Logos (also wahlweise den Kellner oder das hinterlegte Cafe-Logo). Der Text wird jedoch nicht gedruckt. Lediglich leere Zeilen.

Ich teste mit einer frischen OrderSprinter Installation. Leider bin ich aktuell etwas ratlos, was da schief läuft und würde mich über Hilfe freuen.

Grüße
Joe
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von pichel »

Welches Druckprotokoll unterstützt der Drucker denn offiziell? Ist es Esc/POS?
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Joe
Beiträge: 7
Registriert: Mo 11. Apr 2022, 08:31

Re: javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von Joe »

Ja, ESC/POS soll unterstützt sein.
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von pichel »

Ok, und muss das Protokoll zuvor aktiviert werden?

Was sagt denn der Testxruck-Button on der Administrationsansicht von OrderSprinter? Was kommt dann aus dem Drucker raus?
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Joe
Beiträge: 7
Registriert: Mo 11. Apr 2022, 08:31

Re: javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von Joe »

Vielen Dank für deine Antwort.
Ich konnte das Problem mittlerweile identifizieren. Der Drucker hat übrigens die ganze Zeit funktioniert. Leider waren die Druck-Anweisungen, von OrderSprinter kaputt.

In meinem Test-Setup gibt die Funktion "asciiEncodeStringTo437" leider einen leeren String zurück, was dazu führt, dass nur Logo + Linefeeds und ein paar Steuerzeichen beim Drucker ankommen.
Die Konvertierungsversuche mittels iconv() schlagen beide fehl (wenn man die Notices aktiviert sieht man folgenden Hinweis:
iconv(): Wrong charset, conversion from `utf-8' to `CP437' is not allowed in [...]
bzw.
iconv(): Wrong charset, conversion from `utf-8' to `CP858' is not allowed in [...]
)
Ursache hierfür scheint zu sein, dass ich in meinem Setup (auf Basis Docker-Image tomsik68/xampp) keine locale installiert/gesetzt ist.
Eventuell wäre es sinnvoll hier den Fall, dass iconv() beide male false returend anders zu handeln.
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: javaprinter über CUPS: Nur Logo wird gedruckt

Beitrag von pichel »

Hallo Joe,

die Info, dass du ein xampp-Docker-Image verwendet hast (und nicht einmal die offiziellen von xampp) statt eine der vorgeschlagenen Installationsmethoden, hätte bei der Fehlersuche geholfen. Docker-Images sind immer auf das absolut minimale getrimmt. Aber auch für Docker habe ich an verschiedenen Stellen compose-Files für funktionierende Setups vorgestellt, auch wenn ich persönlich kein Freund bin, für ein produktives System noch eine Docker-Schicht drumrum zu bauen.

An fast allen Stellen checke ich bereits den Rückgabewert von iconv, allerdings fehlte noch eine Logmeldung an der richtigen Stelle. Die ist nun in der kommenden Version drin.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Antworten