Installation

Lancez l'assistant d'installation de l'application (EthPrnSetupX64.exe en 64 bit ou EthPrnSetup.exe en 32 bit).
L'assistant ajoutera un service Windows nommé "Service d'impression Ethernet POS".
Une fois installé, l'outil de configuration d'imprimante de Ethernet POS sera lancé.
Selectionnez l'imprimante à laquelle vous voulez connecter Ethernet POS.
Il est préférable de ne pas installer le pilote d'imprimante Windows fourni par le fabriquant de l'imprimante, mais uniquement le pilote matériel tel que le pilote USB.
L'installation du pilote d'imprimante Windows ou d'autres outils peuvent verrouiller le port de l'imprimante et empêcher Ethernet POS de l'utiliser en direct.
Si vous devez utiliser le pilote d'imprimante Windows, vous pouvez configurer Ethernet POS pour utiliser ce dernier, mais vous perdrez le support de communication bidirectionnelle (qui en pratique n'est que rarement nécessaire).
L'outil de configuration de Ethernet POS a un bouton <Tester l'impression> qui permet de vérifier que la communication entre le logiciel et l'imprimante fonctionne bien.
Vous pouvez aussi tester l'impression depuis la ligne de commande en entrant la commande suivante :
echo Bonjour > \\.\pipe\ethpos_printer_0

Configuration

La configuration du service d'impression se fait en lançant l'outil "Configuration de Ethernet POS" (EthPrnCfg.exe).

Émulations de codes-barres

Cette fonctionnalité est utile si votre imprimante est trop vieille pour imprimer les codes-barres tels que les codes QR, les codes PDF417 ou autres.
Par exemple, l'imprimante Epson® TM-T88III ne peut pas imprimer de code QR, qui sont souvent utilisés de nos jours. En activation l'émulation des codes-barres, cette imprimante peut-être utilisée comme si c'était une imprimante plus moderne de type TM-T88VI.
L'émulation des codes-barres fonctionne uniquement avec les imprimantes compatibles ESC/POS.

Programmation

Il y a 3 façons d'envoyer des travaux d'impression à Ethernet POS :

  1. Envoyer directement la donnée d'impression sur le port TCP 9100.
  2. Configurer une URL HTTP ou HTTPS qui va être téléchargée régulièrement. Le contenu téléchargé sera envoyé directement à l'imprimante. Le type de ce contenu (content-type) doit être "application/octet-stream".
  3. Envoyer la donnée d'impression au canal nommé (named pipe) "\\.\pipe\ethpos_printer_0".

La première méthode est recommandée lorsque l'application qui envoie la donnée et Ethernet POS sont connectés au travers d'un réseau TCP/IP.
La deuxième méthode est recommandée lorsque Ethernet POS est connecté à Internet, mais sur un réseau différent de l'application qui génère les travaux d'impression. Cette méthode est sécurisée lorsque le protocole HTTPS est utilisé.
La troisième méthode est recommandée lorsque l'application qui envoie la donnée fonctionne sur la même machine que Ethernet POS. C'est aussi la méthode la plus simple à implémenter.

Un des avantages majeurs de l'utilisation de Ethernet POS avec votre application est qu'il fourni un niveau d'abstration sur la façon de communiquer avec l'imprimante. Une fois que Ethernet POS est configuré, vous n'aurez besoin d'implémenter qu'une seule façon de communiquer avec l'imprimante (TCP/IP, appel HTTP(S) ou canal nommé), quel que soit le modèle et les capacités de communication de l'imprimante.

Des exemples de programmation sont fournis pour différents languages :

Le code source que nous fournissons est libre de droit et peut-être réutilisé dans vos applications.

Outil en ligne de commande Esc2Bin

Esc2Bin est un outil en ligne de commande fourni avec Ethernet POS qui sert à convertir le code source ESC/POS au format humain en format binaire natif à l'imprimante, ou au format chaîne de caractères C.
Par exemple, le code source suivant va imprimer un code QR :

ESC "@" ' Initialise l'imprimante
ESC "a" 1 ' Aligne au centre
"Veuillez scanner le code QR ci-dessous" LF
GS "(k" 4 0 49 65 50 0
GS "(k" 28 0 49 80 48 "https://www.activeplus.fr"
GS "(k" 3 0 49 81 48
GS "V" 65 3 ' Deroule et coupe le papier

Pour convertir ce code source en donnée binaire et l'envoyer à l'imprimante, utilisez la commande suivante :

esc2bin < qrcode.txt > \\.\pipe\ethpos_printer_0

Vous pouvez aussi convertir ce code source en chaîne de caractères de type C/C++ en utilisant la commande suivante :

esc2bin -c < qrcode.txt

Ceci va générer le texte suivant :

"\x1b@"
"\x1ba\x01"
"Veuillez scanner le code QR ci-dessous\n"
"\x1d(k\x04\01A2\0"
"\x1d(k\x1c\01P0https://www.activeplus.fr"
"\x1d(k\x03\01Q0"
"\x1dVA\x03"