PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → Impression Windev Mobile Android (WM22) sur POS Terminal Printer
Impression Windev Mobile Android (WM22) sur POS Terminal Printer
Iniciado por Frédéric BLANC, out., 14 2019 5:47 PM - 2 respostas
Membro registado
6 mensagems
Popularité : +1 (1 vote)
Publicado em outubro, 14 2019 - 5:47 PM
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
Membro registado
6 mensagems
Popularité : +1 (1 vote)
Publicado em outubro, 15 2019 - 4:01 PM
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 em dezembro, 14 2019 - 11:19 AM
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