PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Question Windev Mobile et Impression de code à barres sur une QL220+
Question Windev Mobile et Impression de code à barres sur une QL220+
Débuté par chris bauchot, 05 déc. 2006 12:46 - 5 réponses
Posté le 05 décembre 2006 - 12:46
Je voudrais imprimer directement depuis mon pocket, des étiquettes AVEC code à barres.
Comment faire ?
Est-ce que dans la version 11 (que j'attends de recevoir) ce sera possible ?
On m'a aussi indiqué qu'en faisant du ZPL, l'imprimante (Zebra QL220+) pourrait comprendre. Comment puis-je m'y prendre avec windevMobile ?

Si vous avez des pistes ou des informations Merci

Chris22
Posté le 05 décembre 2006 - 12:57
Bonjour
Si cela concerne WinDev Mobile, tu n'est pas dans le bon groupe
sinon si c'est du ZPL il faut lire le manuel de programmation téléchargeable
sur le site zebra.com
c'est un gros pavé mais bon il permet de tout faire...

"chris bauchot" <cbauchot@oceanis.fr> a écrit dans le message de news:
45754be8$1@news.pcsoft.fr...


Je voudrais imprimer directement depuis mon pocket, des étiquettes AVEC
code à barres.
Comment faire ?
Est-ce que dans la version 11 (que j'attends de recevoir) ce sera possible
?
On m'a aussi indiqué qu'en faisant du ZPL, l'imprimante (Zebra QL220+)
pourrait comprendre. Comment puis-je m'y prendre avec windevMobile ?

Si vous avez des pistes ou des informations Merci

Chris22
Posté le 06 décembre 2006 - 18:26
Effectivement, mon doigt à rippé sur le forum.
Je repose la question su windevMobile

Mais je vais voir ce que je peux tirer du pavé ZPL de Zebra
Posté le 19 décembre 2006 - 17:15
J'ai réussi à mettre en place une solution, pour imprimer depuis le pocket, en passant par le driver et un serveur d'impression... mais c'était trop long (5 secondes d'attente pour faire sortir l'étiquette) alors je me penche sur une autre technique : attaquer mon imprimante reseau (wifi, SQL220+) directement via les sockets.
L'imprimante est configurée en ZPL, mais toutes mes étiquettes sortent vide : rien ne s'imprime dessus, mais j'ai l'impression que le début / fin d'impression (^XA et ^XZ) sont bien détecté...

J'ai testé depuis le pocket PC, et depuis le mode test de windevMobile, et également, depuis windev10...

Je passe surement à coté de quelque chose mais quoi ?

J'ai téléchargé le manuel (avec exemples) du site ZEBRA, j'ai essayé d'intégrer vos morceaux de code ZPL dans d'autres post, sans succes !

Si dessous, une config ZPL que je lis depuis un fichier texte, grace au code encore plus bas

^XA
^CI7
^LH32,0
^CF0,22,20
^FO0,40
^FD donnée (Field Data)^FS
^PQ0001,0,0,N
^XZ

nom_socket est une chaîne = "ZebraSocks"
txt, chem_fic est une chaîne
indFic est un entier

chem_fic = fRepExe()+"\fic_impr.zpl"
indFic = fOuvre(chem_fic)

SI indFic = -1 ALORS
Erreur("Impossible d'ouvrir le fichier "+fRepExe()+"\fic_impr.zpl")
SINON
SI PAS SocketConnecte(nom_socket, 6101,"192.168.192.166") ALORS
Erreur ( "erreur création " + ErreurInfo ( errMessage ))
SINON
txt = SansEspace(fLitLigne(indFic))
TANTQUE txt <> EOT
SocketEcrit(nom_socket,txt)
txt = SansEspace(fLitLigne(indFic))
FIN

SocketFerme(nom_socket)
FIN

fFerme(indFic)
FIN


Chris22
Posté le 27 décembre 2006 - 21:54
Bonjour,

Avez-vous essayé le même code ZPL en l'envoyant par le port série de l'imprimante ?
Ou encore, sous Windows :
1) créer une imprimante générique (pas de driver = pas de modification des données)
2) associer cette imprimante à port IP
3) lancer notepad et y coller votre code ZPL
4) effectuer l'impression sur votre imprimante windows generique

Si l'étiquette sort correctement = votre code ZPL est correct.

sinon vous pouvez essayer ce code ZPL :
^XA
^A0N,31,31^FO100,100^FDTEST OK !!!^FS
^PQ1,0,1,Y
^XZ

!!!!!!!!!!!!!!!!!!!!
à la lecture de votre code ZPL, cela a l'air correct MAIS

les caractères accentués sont à éviter (en fonction de la fonte imprimante)
et d'autre part, la ligne ^FO0,40
indique 0 en décalge horizontal....il vaut mieux décaler un peu....

^XA
^CI7
^LH32,0
^CF0,22,20
^FO200,200
^FD donnee (Field Data)^FS
^PQ0001,0,0,N
^XZ
=====================

si le problème ne vient pas du ZPL,

il faut peut être essayer les différents terminateur d'ecriture de socket...

ou alors mettre l'imprimante zebra en mode "debug", je ne sais plus comment cela ce fait,
cela permet d'imprimer ce que l'imprimante recoit sans interprétation :
c'est à dire que si la transmission modifie/perd des caractères
tu pourras l'observer...et essayer de trouver une solution...

En espérant vous avoir aidé.

Vincent
Posté le 27 décembre 2006 - 21:54
Re bonsoir,

travaillant sur le même aspect (impression sur imprimante code à barre),

voici qui peut être vous aidera ...

bien sur la partie PCL n'est pas utile pour notre cas, mais la partie socket est à regarder de plus prêt...

merci de poster votre retour d'experience pour tous... ;-)

======================
Impression depuis un POCKET WIFI sur une imprimante WIFI.

//Exemple de code réalisant une impression depuis un Pocket PC WiFi vers une imprimante WiFi. Attention, les paramètres nNumPort, nIP et nTimeOut doivent être personnalisés.

//Déclaration des variables
nNumPort est un entier = 9100 //Port WIFI
nIP est une chaîne = "192.168.15.2"
nTimeOut est un entier = 2000

//Sélectionner une imprimante PCL
iConfigure()

//Génération du fichier PCL
iDestination(iPCL, fRepExe() "\MonFichier.PCL")
iImprimeEtat(Etat1)
iFinImprime()

//Connexion à l`imprimante WiFi
SI PAS SocketConnecte("SockImp",nNumPort,nIP,nTimeOut) ALORS
Erreur(ErreurInfo())
RETOUR
FIN

//Mode de transmission sans ajout/modification du contenu
SocketChangeModeTransmission("SockImp",SocketSansMarqueurFin)

//Envoi du fichier PCL
SocketEcrit("SockImp",UnicodeVersAnsi(fChargeTexte(fRepExe() "\MonFichier.PCL")))

//Fin de la transmission
SocketFerme("SockImp")