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 EPLA 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