在 vb.net 中将 .ZPL 文件打印到 zebra 打印机。 Visual Studio 2015年版

Printing a .ZPL file to a zebra printer in vb.net. Visual Studio 2015 version

我已经准备好原始 ZPL 文件,只是不知道如何设置要发送到的打印机,然后再发送。我该怎么做?

注意:我的计算机上有一个批处理脚本,我将所有 ZPL 文件默认为该批处理脚本,它是一个 shell 脚本,可将文件发送到我计算机上的热敏打印机。我想摆脱它并在我的应用程序中包含所有命令,这样我就不必使用那样的外部脚本。

这是我现在拥有的代码,当 运行 它使用我的批处理脚本自动打开时:

 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

这是我的批处理脚本:

copy %1 \%ComputerName%\Zebra

要复制 VB.net 中批处理文件的确切功能:

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

这将使用 System.IO 命名空间提供的方法复制文件。它还扩展了 %COMPUTERNAME% 环境变量。这将替换 DisplayFile 子例程中的所有代码。