Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Impression en EPL sur imprimante ZEBRA en USB [ Système / Périphériques ] (Mgiv64)

mardi 2 décembre 2008 à 13:17:30 | Impression en EPL sur imprimante ZEBRA en USB

Mgiv64

Bonjour à tous,

Je suis en train d'essayer de faire passer du code EPL sur une imprimante ZEBRA en vue d'imprimer des codes barres.
Je suis sur VB 6 et je dispose d'une Zebra LP2844

Voici où j'en suis actuellement :

1 - Je parviens à imprimer du texte et/ou des codes barres avec la fonction print de cette façon :

Public Sub LabelZebraTest()
    Dim strDescShort As String
   
    strDescShort = "Coca 25 cl"
       
    Dim prnX As Printer
    For Each prnX In Printers
        Select Case prnX.DeviceName
            Case "Zebra  LP2844"
                Set Printer = prnX
                Exit For
        End Select
    Next

    Printer.ScaleMode = 6

    Printer.FontName = "Arial"
    Printer.FontSize = 10
    Printer.FontBold = False
    Printer.FontUnderline = False
    Printer.CurrentX = 10
    Printer.Print strDescShort
                     
    Printer.EndDoc

End Sub

Quand je remplace la police "Arial" par une police "3 of 9 barcode" ou "EAN 13" je parviens aussi à imprimer des codes barres. SAUF QUE... cette solution ne me convient pas, car elle requiert que chaque utilisateur du programme doive préalablement installer les polices TTF correspondantes aux codes barres. Deuxièmement, le code EAN13 requiert une syntaxe et une structure bien spécifique à respecter scrupuleusement et qui est assez lourde à gérer. Troisièmement, l'imprimante peut gérer tout ces codes barres de façon autonome grâce au langage EPL.

2 - Impression code barre avec le langage EPL


A travers un petit outils très simpliste founis avec le drivers d'impression, je peu envoyer des commandes EPL à l'imprimante.

ces trois lignes :

N
B10,10,0,E30,2,2,150,B,"132465798000"
P1

Me donne un jolis code barre en EAN 13, avec une structure respectée, un numéro de vérification calculé par l'imprimante, bref le bonheur!...

3 - Tentative d'envoyer du EPL à mon imprimante :

J'ai trouvé ce code sur le net :

Private Sub Cmdinitpro_Click()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
MSComm1.Output = "N" + Chr$(10)
MSComm1.Output = "Q191,24+0" + Chr$(10)
MSComm1.Output = "q224" + Chr$(10)
MSComm1.Output = "A4,171,0,1,1,1,N,""init""" + Chr$(10)
MSComm1.Output = "P1" + Chr$(10)
MSComm1.PortOpen = False
End Sub

Alors c'est bien ... sauf que... mon imprimante est en USB et non en serial ou LTP1....

4 - Et si je tentais quand même....

Private Sub Command1_Click()
    Dim prnX As Printer
    For Each prnX In Printers
        Select Case prnX.DeviceName
            Case "Zebra  LP2844"
                Set Printer = prnX
                Exit For
        End Select
    Next

    Printer.Print "N"
    Printer.Print "B10,10,0,E30,2,2,150,B,'13221'"
    Printer.Print "P1"
    Printer.EndDoc
   
End Sub

Et voici enfin donc mon problème... quand j'exécute ce code, bien évidement, l'imprimante m'imprime le code EPL mais ne l'interprète pas...

Ma question est donc : Savez-vous comment envoyer du EPL sur une ZEBRA en USB depuis un programme VB6 ?

Un tout grand merci à toute personne pouvant me donner une piste, si petite soit-elle.

Merci ,

Pierre




jeudi 4 décembre 2008 à 16:42:48 | Re : Impression en EPL sur imprimante ZEBRA en USB

Mgiv64

UP!

Personne n'a de piste :'( :'(

mercredi 10 décembre 2008 à 10:31:58 | Re : Impression en EPL sur imprimante ZEBRA en USB

camerling

Salut Mgiv64,

J'en suis rendu à peu près au même stade que vous coté VB6/Zebra.

Je me demande si je vais pas utiliser Thermal Label SDK (mais en VB.net) de Neodynamics ou NiceLabel Driver/Dev ... ou encore CodeSoft 8 ?

Pourtant je voudrais, comme vous, m'affanchir d'une dll supplémentaire et payante !

(j'ai une LP2844 aussi).
 
Je continue à chercher sur les forums USA ...

Envoyez moi un mess privé, nous pourrons partager nos travaux si vous voulez.

A+
Emmanuel.
 

mercredi 10 décembre 2008 à 11:54:38 | Re : Impression en EPL sur imprimante ZEBRA en USB

camerling

Heu ... et le code ESCAPE (chr$(27) ou 1B en hexa) il est où dans tes test vers le port usb ?

A+



 


lundi 15 décembre 2008 à 09:29:09 | Re : Impression en EPL sur imprimante ZEBRA en USB

Mgiv64

Merci à vous pour vos réponses.

Je serais ravis que nous puissions voir tout ça ensemble.

Nous n'avons peut-être pas abordé le problème de la même façon, mais de mon point de vue je doute qu'il y ait besoin d'avoir recours à quelque dll payantes que se soit. (sinon je pense que Zebra doit fortement revoir sa stratégie marketing...)

comme je le décris à l'étape numéro 2, j'arrive à lancer une impression de codes barres à travers l'utilitaire intégré aux drivers officiels (Zebra Universal Drivers).
Il me semble normal qu'il devrait être possible d'envoyer ce même code depuis un programme VB6/VB.NET.
La seule chose, c'est que le code que j'envoie est interprété comme de l'ASCII, je ne sais pas suffisamment d'expérience que pour savoir comme spécifier que je veux envoyé les données "en brutte".

Si vous voulez tester l'étape 2 :

1 - Dans les propriété de l'imprimante du panneau de config.
2 - Dans l'onglet "Printer"
3 - Dans "Advanced"
4 - Tools
5 - Dans "Direct command for printer" taper les commandes que je renseigne à l'étape 2 de mon premier message, une après l'autre, en cliquant sur Send après chaque commande (NE PAS faire ENTER)

Je vous envoi mon adresse email en MP.

Merci,

Pierre

mardi 16 décembre 2008 à 08:53:35 | Re : Impression en EPL sur imprimante ZEBRA en USB

camerling



Pierre,

Le fait que l'imprimante n'interprète pas n'est il pas dû au fait qu'il n'y a pas de code 'Escape' (comme précisé dans le manuel Zebra, il y a une petite explication sur le code 'Escape' (27!)
Avez vous essayé d'ajouter 1B en Hexa ou chr$(27) dans votre code VB6 en début de ligne de commande ?

A+

Emmanuel.

mardi 16 décembre 2008 à 11:04:27 | Re : Impression en EPL sur imprimante ZEBRA en USB

Mgiv64

Merci de votre réponse,

    Printer.Print Chr$(27) + "N"
    Printer.Print Chr$(27) + "B10,10,0,E30,2,2,150,B,""132465798000"""
    Printer.Print Chr$(27) + "P1"

même résultat, mais avec un caractère illisible au début de chaque ligne...

vendredi 13 mars 2009 à 16:44:21 | Re : Impression en EPL sur imprimante ZEBRA en USB

jcv1974

Bonjour, j'ai un peu le même problème que vous.
J'ai une ZEBRA TLP3842 en TCPIP, et je voudrais imprimer en vba.

La seuke commande que j'ai réussi à passer est "EI", mais pour imprimer du texte simplement c'est impossible.

Je pense qu'il faudrait réussir à concatener la touche ENTER dans le senddata du winsock, mais là rien ne part.

Si quelqu'un a quelque chose je suis preneur.

Merci

vendredi 17 avril 2009 à 21:28:53 | Re : Impression en EPL sur imprimante ZEBRA en USB

waspy59



essayer de mettre comme drivers "text only".....normalement ca fonctionne

vendredi 17 avril 2009 à 22:54:01 | Re : Impression en EPL sur imprimante ZEBRA en USB

Mgiv64

Bonjour Jcv1974 et Waspy59,

@ Jcv1974 : je n'ai toujours pas trouvé une solution à mon problème. En ce qui vous concerne je serais tenté de dire que vous pourriez simplement installer l'imprimante comme une imprimante réseau windows "habituelle" et sélectionner cette imprimante lors de l'impression. ça sera une couche du système d'exploitation qui se chargera de faire passer les données sur le réseau de façon transparente. Ainsi votre code conviendrait aussi bien pour une imprimante local ou réseau. Vous supprimez ainsi totalement le facteur réseau (Winsock) de votre code. Le drivers Windows s'en chargeront.... Je précise qu'en ce qui me concerne j'arrive à imprimer du texte (en VB.net), la page de test de Windows et des images (depuis Word par exemple)

@Waspy59 : Que voulez vous dire exactement ? vous suggérer que nous installions l'imprimante comme étant une "imprimante texte standard" dans windows ?
En fait, actuellement elle est installée avec les drivers zebra. Dans ces drivers, il y a un petit utilitaire contenant une zone de texte et un bouton. Lorsque je colle du code EPL dans cette zone et que je valide à l'aide du bouton, l'imprimante interprete correctement le code EPL. Tout me laisse donc croire que je ne dois rien changer à la configuration de l'imprimante et que la seule chose qui bloque dans mon cas est de trouver une façon en VB.NET de faire comprendre à cette imprimante que je ne suis envoie pas du ASCII mais bien du code EPL.... je suis certain que l'astuce doit être basique. genre trouver le bon caractère d'"Escape"....

++

Mgiv64


1 2

Cette discussion est classé dans : imprimante, printer, zebra, epl, prnx


Répondre à ce message

Sujets en rapport avec ce message

Urgent : ajout d'une imprimante avec l'API AddPrinter [ par Cedric_Malache ] Je voudrais ajouter une nouvelle imprimante garce a l'api AddPrinter: Voici la déclaration de l'api en C: IMPRESSION ET DATAREPORT [ par chandrasonic ] SalutJ'ai un probleme :Je voudrais choisir une imprimante autre que celle definie par defaut.Avec set printer=printer(i) par de probleme j'arrive a se Marge / Imprimante ? [ par Philyp ] Bonjour à tous. Je rencontre le problème suivant :Comment définir la marge , pour éditionsur l'imprimante? Mon code est : Private Sub Imprimer_Click() Comment récupérer le nom de l'imprimante en VB 3. [ par Verderi Patrick ] Comment récupérer le nom de l'imprimante par défaut en VB 3. L'objet PRINTER ne propose pas la propriété DeviceName comme en VB 6. En passant par le C URGENT : changement d'imprimante depuis VB :°-( [ par I need your help ! ] Bonjour à tous,Voici ma question : comment changer l'imprimante par défaut depuis un programme VB ? :-)En créant manuellement une imprimante "Virtua Configuration de l'imprimante (objet printer) selon commondialog [ par jray ] Je n'ai toujours pas trouvé comment récupérer l'imprimante sélectionnée dans le commondialog showprint et la définir pour l'objet Printer.Ca m'imprime Urgent choisir imprimante [ par toto1980 ] Bonjour, j'ai un objet printer et je voudrais choisir l'imprimante correspondante donc: dim p as printer commondialog1.showprinteret après?Comme set printer [ par sekfan ] je cherche comment faire pour attribuer un port pour l'imprimante dans un fonction et choisir cette imprimante pour l'impression. tout ca sans passer PRINTER.PAINTPICTURE SUR HP [ par SyDGiN ] Qui pourrait m'aider à résoudre l'équation suivante :Printer.Paintpicture fonctionne parfaitement sous n'importe qu'elle imprimante EPSON, et refuse c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,749 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.