Recherche retours sur utilisation d'imprimante de ticket de caisse

Le problème exposé dans ce sujet a été résolu.

Bonsoir !

Je fais partie d’une société qui organise la fête nationale au niveau de la commune. Cela fait maintenant quelques années qu’on se demande si la vente de frites est rentable : entre la location des friteuses, le prix des décalitres d’huile pour celles-ci, et les frites en elles-mêmes, c’est près (sinon plus) de la moitié de notre budget. On a tenté diverses solutions afin de mesurer la rentabilité de cet article — par ailleurs incontournable —, solutions qui n’ont pas permis de succès jusqu’à présent. Nous n’avons pas testé de solution de caisse, mais l’idée fait cependant son chemin.

Dans cette optique, j’imagine très volontiers utiliser une application quelconque pour ordinateur (voire smartphone) couplée à une de ces imprimantes de tickets de caisse. Seulement, c’est un composant que je ne connais pas plus que cela, et si naïvement j’imagine cela comme une imprimante juste un peu spéciale, il est probable que ce ne soit pas le cas.

Du coup, est-ce que vous avez déjà eu à travailler avec un appareil de ce type ? L’installer, le configurer, s’interfacer avec ?

Je me méfie notamment des points suivants.

  1. Est-ce que c’est vraiment comme une imprimante "courante", ou est-ce qu’en général il faut utiliser une application spécifique ? Je ne parle pas ici d’un simple driver, mais d’un éventuel programme qui ajoute une quelconque surcouche rendant l’utilisation externe directe impossible.
  2. Un peu lié à ci-dessus dans le cas où il y a juste un driver ou même que c’est plug’n’play, est-ce qu’il y a un format spécial à respecter ? Par exemple n’envoyer que du bitmap avec une largeur définie et une résolution définie, ou du texte avec des instructions de mise en forme propres au constructeur/à la machine ?
  3. Pour celles qui ont un outil de coupe, est-ce que c’est simplement "un document => un bout de ruban" ou cela se spécifie/peut se spécifier aussi différemment dans les données ?

Voilà voilà, j’attends vos retours.

Merci d’avance  :)

+0 -0

Salut \o,

Pour le point 1, je ne suis pas sûr, celle que j’avais utilisée était plug-and-play. Je pense que ça peut-être assez varié mais que généralement ça doit pouvoir être simple à utiliser sans driver. Par port série.

Pour le point 2. Si tu prends un truc commun, le mot clé que tu cherches est ESC/POS. Bien que je suis sûr qu’il existe d’autres systèmes, c’est certainement le plus utilisé.

Pour le point 3. ESC/POS support le déplacement (ou impression vierge donc) et la coupe du papier (l’imprimante pas forcément, mais ESC/POS si).

Juste une remarque, si c’est du ESC/POS par port série, tu devrais juste pouvoir ouvrir le port avec screen par exemple et taper normalement. Pour les images, utilise une bibliothèque.

+1 -0

Merci beaucoup pour m’avoir pointé vers ESC/POS, je constate qu’Epson propose même un SDK JavaScript (dernière trace de version en date du 24 mai 2024) qui, évidemment, titille mon côté dev web :D

Mais ce SDK ne semble pas public, même si l’API semble l’être.

Je vais continuer à creuser par là.

Si quelqu’un a aussi des retours à partager, c’est volontiers.  :)

+0 -0

Bonjour,

J’utilise les imprimantes thermiques professionnellement, il existe une variété de modèles et plusieurs connecteur, on peu le faire en série mais c’est également possible en réseau (wifi ou ethernet), en bluetooth, en infrarouge, en usb… Bref, l’important c’est pas tellement le transport mais le contenu du document.

Il est possible d’imprimer des images mais quand il faut imprimer un ticket de caisse il faut l’imprimer vite, et pour faire vite on utilise des codes escape. Le principe est que l’on envoie du texte brut, et des séquence ESC/POS particulière vont déclencher des actions particulière, une action pour découper le papier, une action pour ouvrir le tiroir caisse, une instruction pour faire beeper l’imprimante. On a également une longue liste pour la mise en forme: alignement à gauche, centré, à droite, taille de police petit normal grand, et ainsi de suite.

En faisant ainsi on utilise pas de système d’impression classique, c’est au niveau de l’application que l’on adresse directement l’imprimante.

A noter que ce que l’on gagne en vitesse, on le perd pour la mise en forme, quand on regarde un ticket de caisse, les libellé de produit sont aligné à gauche et les prix sont de l’autre coté aligné à droite. Avec du css, on fait un petit tableau, on défini les alignements et merci bonsoir. Là… bah on n’a pas du tout sa, on a du texte brut et débrouille toi.
La seule chose que tu as, c’est que c’est une police à empâtement fixe, donc, si tu sais que ton imprimante fait 42 caractères de large (à tester de manière empirique), tu peux faire dans ton programme d’impression un calcul pour l’alignement en ajoutant des espaces entre le nom de ton produit et son prix de façon à ce que tout s’aligne bien.

+1 -0

Merci pour ton retour  :)

Alors le besoin, pour ce que j’en imagine actuellement, c’est uniquement pour imprimer des bons à la demande, donc le titre de l’article et quelques métadonnées. Certes, ce serait plus joli de pouvoir imprimer des trucs moins barbants avec des icônes, mais c’est pas le plus important.

+0 -0

Juste pour info. Je me suis amusé ce soir avec une petite imprimante que j’ai réussie à me procurer. Un truc chinois sans nom 80mm. Je savais déjà qu’elle marchait bien avec une application sur téléphone, mais ce n’est pas comme ça que je voulais m’en servir.

Bref. Ça marche presque à peu prêt. C’est bien du ESC/POS, mais le port série USB marchait mal sous Linux pour le faire marché, j’ai du patcher le noyau Linux, et c’est encore un peu instable (je vais pas trop chercher plus).

Heureusement, ça marche mieux par bluetooth. Par-contre pour avoir un port-série via bluetooth, j’ai utiliser rfcomm qui est dépréciée mais qui ne semble pas avoir d’alternative moderne.

Aussi, au niveau des images, c’est une fois sur deux que ça marche. La première fonctionne, la seconde non et ainsi de suite. Il doit y avoir un problème sur la fin de l’impression de l’image. ESP/POS mais pas tout à fait normalisé. Du coup, j’imprime mon image puis je réinitialise la connection bluetooth avant de continuer (totalement un hack, mais ça marche).

Tout ça pour dire, si tu prends une imprimante et que tu comptes peu bidouiller avec, que ça soit automatique (plug and play). Essaye de prendre une imprimante dont le support est assuré, quitte à mettre un peu d’argent dedans. Au final, c’est moins risqué.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte