在 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
子例程中的所有代码。
我已经准备好原始 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
子例程中的所有代码。