2015-10-21 1 views
0

J'ai déjà le fichier ZPL brut prêt à partir, je ne sais pas comment définir l'imprimante à laquelle je veux l'envoyer et ensuite l'envoyer. Comment ferais-je cela?Impression d'un fichier .ZPL sur une imprimante zébrée dans vb.net. Visual Studio 2015 version

Remarque: J'ai un script de traitement par lots sur mon ordinateur auquel tous les fichiers ZPL sont par défaut, qui est un script shell qui envoie le fichier à l'imprimante thermique sur mon ordinateur. Je veux m'éloigner de cela et avoir toutes les commandes dans mon application, donc je n'ai pas besoin d'utiliser un script externe comme ça.

C'est le code que j'ai maintenant que quand il a couru auto ouvre avec mon script batch:

Sub SaveLabel(ByRef labelFileName As String, ByRef labelBuffer() As Byte) 
     ' Save label buffer to file 
     Dim myPrinter As New PrinterSettings 
     Dim LabelFile As FileStream = New FileStream(labelFileName, FileMode.Create) 
     LabelFile.Write(labelBuffer, 0, labelBuffer.Length) 
     LabelFile.Close() 
     ' Display label 
     DisplayLabel(labelFileName) 
    End Sub 

    Sub DisplayLabel(ByRef labelFileName As String) 
     Dim info As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo(labelFileName) 
     info.UseShellExecute = True 
     info.Verb = "open" 
     info.WindowStyle = ProcessWindowStyle.Hidden 
     info.CreateNoWindow = True 
     System.Diagnostics.Process.Start(info) 
    End Sub 

Et voici mon script batch:

copy %1 \\%ComputerName%\Zebra 

Répondre

1

Pour répliquer la fonctionnalité exacte du fichier batch dans VB.net:

Dim filename As String = System.IO.Path.GetFileName(labelFileName) 
System.IO.File.Copy(
       labelFileName, 
       Environment.ExpandEnvironmentVariables("\\%ComputerName%\Zebra\" & filename)) 

Ceci copie le fichier en utilisant la méthode fournie par le System.IO namespace. Il développe également la variable d'environnement %COMPUTERNAME%. Cela remplace tout le code dans le sous-programme DisplayFile.

+0

Je cherchais partout pour essayer de le reproduire dans l'application, je suppose que je n'ai pas regardé assez fort. Merci monsieur, vous avez mis fin à mon désespoir de 4 heures. –