PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Impression Windev Mobile Android (WM22) sur POS Terminal Printer
Impression Windev Mobile Android (WM22) sur POS Terminal Printer
Iniciado por Frédéric BLANC, 14,oct. 2019 17:47 - 2 respuestas
Miembro registrado
6 mensajes
Popularité : +1 (1 vote)
Publicado el 14,octubre 2019 - 17:47
Bonjour,

J'ai un POS Terminal Printer modèle IPDA045N-BL-EU.

Il fonctionne donc sous Android et intègre une imprimante ticket.

J'ai essayé l'impression PDF (idestination puis iimprimepdf) mais elle passe à priori automatiquement par Google Cloud Printer.

J'ai essayé les fonctions iimprime et iimprimefin, iimprimemot, rien ne se passe.

Quelqu'un a-t-il déjà testé ? Est-ce possible ?
Comment indiquer à notre Android quelle est l'imprimante par défaut ?

Cordialement,

Fred
Miembro registrado
6 mensajes
Popularité : +1 (1 vote)
Publicado el 15,octubre 2019 - 16:01
Salut,

Voici la réponse. Remerciement à JEQUIDET.
Voici la démarche, activer le bluetooth sur votre POS et configurer votre imprimante en CPCL avec par exemple AndroidPrintDemo et récupérer l'adresse MAC de votre périphérique.

Voici le code qui vous permettra d'imprimer, sans JAVA, sans Google Print etc...

tw est une chaîne="SerialPortServiceClass_UUID" //nom du service
adrimp est une chaîne="00:13:7B:5D:EA:8D" //adresse MAC de votre imprimante
sk est une chaîne="Test" // nom socket
sp est une chaîne="$" //séparateur de socket


//a imprimer
Imp est une chaîne=""

Imp="! 0 200 200 210 2 "+RC

Imp+="TEXT 1 0 10 10 COUCOU "+RC
Imp+="TEXT 1 0 20 28 toto "+RC
Imp+="TEXT 2 0 25 40 TITI "+RC
Imp+="TEXT 3 0 27 28 ZoZO "+RC
Imp+="TEXT 1 0 50 50 DATE = "+DateVersChaîne(DateSys)+" "+RC
Imp+="PRINT"+RC+RC+RC

//il faut passer par un buffer et envoyer son UnicodeVersAnsi

xbuf est un Buffer=Imp

SI PAS SocketConnectBluetooth(sk,tw,adrimp,8000) ALORS
Info("connexion impossible "+ErreurInfo())
SINON
SocketChangeModeTransmission(sk,SocketMarqueurFin,sp)
SI SocketEcrit(sk,(UnicodeVersAnsi(xbuf)+sp))=Faux ALORS Erreur(ErreurInfo())
SocketFerme(sk)
FIN


Il ne vous restera plus qu'à modifier le code pour passer ce que vous souhaitez imprimer en paramètres.

Bonne lecture.
Publicado el 14,diciembre 2019 - 11:19
Bonjour Frederic
Je suis actuellement entrain de développer su un terminal POS une application de facturation ticket de vente

Sauf que je suis confronté au meme probleme d'impression que tu as eu au départ.

J'ai essayé la solution que u a proposé dans ton message mais j'ai le message d'erreur suivant "read failed socket might closed or timeout, read ret : -1"

Je ne trouve actuellement aucune solution sur Internet

Merci