Vb.net asp.net vb web应用程序将数据从web服务器打印到粘贴标签机

Vb.net asp.net vb web应用程序将数据从web服务器打印到粘贴标签机,vb.net,Vb.net,我正在开发一个网站,我从查询中提取一些数据,然后需要将这些数据打印到brady pr300 plus标签打印机上。我希望打印能够自动从web服务器打印到打印机,而无需在客户端计算机上弹出打印对话框 最好的办法是什么?javascript、vb背后的代码 我一直在玩这个,运气不好。我使用onbeginprint方法和onprintpage方法创建了一个printingclass。当我调用print时,它会转到onbeginprint方法,但由于某些原因,当我单步执行代码时,它不会转到onprint

我正在开发一个网站,我从查询中提取一些数据,然后需要将这些数据打印到brady pr300 plus标签打印机上。我希望打印能够自动从web服务器打印到打印机,而无需在客户端计算机上弹出打印对话框

最好的办法是什么?javascript、vb背后的代码

我一直在玩这个,运气不好。我使用onbeginprint方法和onprintpage方法创建了一个printingclass。当我调用print时,它会转到onbeginprint方法,但由于某些原因,当我单步执行代码时,它不会转到onprintpagemethod。我得到的错误是System.Drwaing.Printing.invalidprinterexception:未安装打印机

我现在有点困了

Public Sub PrintDocument()
    Dim tprinter As New PCPrint
    tprinter.PrinterFont = New Font("Verdana", 10)
    tprinter.TextToPrint = "HELLO WORLD"
    tprinter.PrintName = "testbrady"
    tprinter.Print()
End Sub
protectedoverrides子OnBeginPrint(ByVal e As Printing.PrintEventArgs)
'运行基本代码
MyBase.OnBeginPrint(e)
'检查用户是否提供了字体
如果他们不这样做,那么我们就默认了《新罗马时报》
如果字体为空,则
'创建我们需要的字体
_字体=新字体(“新罗马时代”,10)
如果结束
端接头
PrintPage上受保护的覆盖子项(ByVal e作为Printing.PrintPageEventArgs)
'运行基本代码
MyBase.OnPrintPage(e)
'声明所需的局部变量
作为整数的静态curChar
将打印高度设置为整数
将打印宽度设置为整数
将leftMargin设置为整数
将右页边距设置为整数
将线调暗为Int32
暗字符为Int32
'设置打印区域大小和页边距
使用MyBase.DefaultPageSettings
打印高度=.PaperSize.Height-.Margins.Top-.Margins.Bottom
printWidth=.PaperSize.Width-.Margins.Left-.Margins.Right
leftMargin=.Margins.Left'X
rightMargin=.Margins.Top'Y
以
MyBase.DefaultPageSettings.PrinterSettings.PrinterName=PrintName
'检查用户是否选择以横向模式打印
“如果他们这样做了,那么我们需要交换高度/宽度参数
如果是MyBase.DefaultPageSettings.Landscape,则
将tmp设置为整数
tmp=打印高度
打印高度=打印宽度
printWidth=tmp
如果结束
“现在我们需要确定行的总数
我们将要印刷
尺寸标注为Int32=CInt(打印高度/打印字体高度)
'创建一个矩形打印用于我们的文档
将打印区域调暗为新矩形F(左边距、右边距、打印宽度、打印高度)
'将StringFormat类用于文档的文本布局
作为新StringFormat的Dim格式(StringFormatFlags.LineLimit)
'将尽可能多的字符放入打印区域
e、 图形.MeasureString(_text.Substring(RemoveZeros(curChar)),PrinterFont,新SizeF(printWidth,printHeight),格式,字符,行)
'打印页面
e、 Graphics.DrawString(_text.Substring(RemoveZeros(curChar)),PrinterFont,Brushes.Black,printArea,format)
'增加当前字符数
curChar+=chars
'确定是否有更多文本要打印,如果
“这是一个警告,告诉打印机还有更多的消息要来
如果curChar<_text.Length,则
e、 HasMorePages=True
其他的
e、 HasMorePages=False
curChar=0
如果结束
端接头

各位好

这就是我最终让标签打印机工作的方法

 Imports System.Drawing
 Imports System.Drawing.Printing


    Public Sub prt(variables)
       Dim prn As New Printing.PrintDocument
       Dim psz As New Printing.PaperSize With {
            .RawKind = Printing.PaperKind.Custom,
            .Width = 400,
            .Height = 150
        }

    Using (prn)
        prn.PrinterSettings.PrinterName = printer
        prn.DefaultPageSettings.PaperSize = psz
        prn.DefaultPageSettings.Margins.Left = 5
        prn.DefaultPageSettings.Margins.Right = 5
        prn.DefaultPageSettings.Margins.Top = 5
        prn.DefaultPageSettings.Margins.Bottom = 5
        AddHandler prn.PrintPage,
           AddressOf Me.PrintPageHandler
        prn.Print()
        RemoveHandler prn.PrintPage,
           AddressOf Me.PrintPageHandler
    End Using

    End Sub

 Private Sub PrintPageHandler(ByVal sender As Object,
       ByVal args As Printing.PrintPageEventArgs)

        Dim shopnameX As Integer = 10, shopnameY As Integer = 10
        Dim sfont As New Font("Arial Black", 14)
        Dim strfomart As New StringFormat()
        Dim StrRight As New StringFormat()
        Dim StrLeft As New StringFormat()
        strfomart.Alignment = StringAlignment.Center
        StrRight.Alignment = StringAlignment.Far
        StrLeft.Alignment = StringAlignment.Near

       Dim dashValues As Single() = {5, 2, 5, 2}
        Dim blackPen As New Pen(Color.Black, 1)
        ' blackPen.DashPattern = dashValues
        Dim i As Integer, j As Integer
        args.Graphics.DrawString(part.ToString, sfont, Brushes.Black, New 
            PointF(shopnameX, shopnameY))
 End Sub

各位好,

这就是我最终让标签打印机工作的方法

 Imports System.Drawing
 Imports System.Drawing.Printing


    Public Sub prt(variables)
       Dim prn As New Printing.PrintDocument
       Dim psz As New Printing.PaperSize With {
            .RawKind = Printing.PaperKind.Custom,
            .Width = 400,
            .Height = 150
        }

    Using (prn)
        prn.PrinterSettings.PrinterName = printer
        prn.DefaultPageSettings.PaperSize = psz
        prn.DefaultPageSettings.Margins.Left = 5
        prn.DefaultPageSettings.Margins.Right = 5
        prn.DefaultPageSettings.Margins.Top = 5
        prn.DefaultPageSettings.Margins.Bottom = 5
        AddHandler prn.PrintPage,
           AddressOf Me.PrintPageHandler
        prn.Print()
        RemoveHandler prn.PrintPage,
           AddressOf Me.PrintPageHandler
    End Using

    End Sub

 Private Sub PrintPageHandler(ByVal sender As Object,
       ByVal args As Printing.PrintPageEventArgs)

        Dim shopnameX As Integer = 10, shopnameY As Integer = 10
        Dim sfont As New Font("Arial Black", 14)
        Dim strfomart As New StringFormat()
        Dim StrRight As New StringFormat()
        Dim StrLeft As New StringFormat()
        strfomart.Alignment = StringAlignment.Center
        StrRight.Alignment = StringAlignment.Far
        StrLeft.Alignment = StringAlignment.Near

       Dim dashValues As Single() = {5, 2, 5, 2}
        Dim blackPen As New Pen(Color.Black, 1)
        ' blackPen.DashPattern = dashValues
        Dim i As Integer, j As Integer
        args.Graphics.DrawString(part.ToString, sfont, Brushes.Black, New 
            PointF(shopnameX, shopnameY))
 End Sub