更新时间:2023-12-04 11:48:40
我的建议是你学习哪些命令你的POS打印机支持(可能是ESC / POS命令)然后在VB中构造命令并使用此代码将其直接发送到打印机 http:/ /support.microsoft.com/kb/322090 [ ^ ]
PrintDocument方法应该有效(你没有明确指出你在那里遇到的错误)但是将它与发送打印机命令进行比较,PrintDocument会非常慢。
My suggestion is you learn which commands your POS printer supports (likely ESC/POS commands) and then construct the commands in VB and send it directly to the printer by using this code http://support.microsoft.com/kb/322090[^]
PrintDocument approach should work (you have not clearly specified what is the error you got there) but comparing it to sending printer commands, PrintDocument will be very slow.
Imports System.IO
Imports System.Drawing.Printing
Public Class Form1
Public egraphics As Graphics
Public prnDocument As New System.Drawing.Printing.PrintDocument
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理Me.Click
Dim psize As New Printing.PaperSize(A4, 842,595)
AddHandler prnDocument.PrintPage,AddressOf PrintPage
prnDocument.DefaultPageSettings.PaperSize = psize
prnDocument.DefaultPageSettings.Margins.Top = 0
prnDocument.DefaultPageSettings.Margins.Left = 0
prnDocument.DefaultPageSettings.Margins.Bottom = 0
prnDocument.DefaultPageSettings.Margins.Right = 0
prnDocument.OriginAtMargins = True
prnDocument.Print()
End Sub
Private Sub PrintPage(ByVal sender As Object,ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Dim fReportFont As System.Drawing.Font
egraphics = e.Graphics
egraphics.PageUnit = GraphicsUnit.Point
fReportFont = New System.Drawing.Font(Trim(Helvetica),60,FontStyle.Regular)
egraphics.DrawString(这是测试,fReportFont,New SolidBrush(Color.Black),100,200)
End Sub
结束班
Imports System.IO
Imports System.Drawing.Printing
Public Class Form1
Public egraphics As Graphics
Public prnDocument As New System.Drawing.Printing.PrintDocument
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Click
Dim psize As New Printing.PaperSize("A4", 842, 595)
AddHandler prnDocument.PrintPage, AddressOf PrintPage
prnDocument.DefaultPageSettings.PaperSize = psize
prnDocument.DefaultPageSettings.Margins.Top = 0
prnDocument.DefaultPageSettings.Margins.Left = 0
prnDocument.DefaultPageSettings.Margins.Bottom = 0
prnDocument.DefaultPageSettings.Margins.Right = 0
prnDocument.OriginAtMargins = True
prnDocument.Print()
End Sub
Private Sub PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Dim fReportFont As System.Drawing.Font
egraphics = e.Graphics
egraphics.PageUnit = GraphicsUnit.Point
fReportFont = New System.Drawing.Font(Trim("Helvetica"), 60, FontStyle.Regular)
egraphics.DrawString("This is to test", fReportFont, New SolidBrush(Color.Black), 100, 200)
End Sub
End Class