Asp.net 网络打印 – WebBrowser 控件技术打印

本文介绍了一种使用ASP.NET中的WebBrowser控件实现网络打印的方法。通过创建Class_Print类及其两个函数,可以将DataSet或DataGrid的内容转换为HTML格式,并利用WebBrowser控件的功能进行打印或打印预览。

Asp.net 网络打印 – WebBrowser 控件技术打印

---资源来源于Microsfot WebCast

1.       创建一个Class_Print 的类,类中可能创建两个Function.

-Function 1:

Public Function DGPrint(ByVal ds As DataSet) As String

        Dim myDataTable As New DataTable

        myDataTable = ds.Tables(0)

 

        Dim myRow As Integer = myDataTable.Rows.Count

        Dim myCol As Integer = myDataTable.Columns.Count

 

        Dim sb As New System.Text.StringBuilder

 

        Dim colHeaders As String = "<html><body><object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object><table><tr>"

 

        For lint_index_0 As Integer = 0 To myCol - 1

            colHeaders += "<td>" + myDataTable.Columns(lint_index_0).ColumnName.ToString() + "</td>"

        Next

        colHeaders += "<tr>"

        sb.Append(colHeaders)

 

        For lint_index_1 As Integer = 0 To myRow - 1

            sb.Append("<tr>")

            For lint_index_2 As Integer = 0 To myCol - 1

                sb.Append("<td>")

                sb.Append(myDataTable.Rows(lint_index_1).Item(lint_index_2).ToString.Trim)

                sb.Append("</td>")

            Next

            sb.Append("</tr>")

        Next

        sb.Append("</table></body></html>")

        colHeaders = sb.ToString

        '// WebBrowser.ExecWB(6,1)  ----打印

        '// WebBrowser.ExecWB(8,1)  ----打印设置

        '// WebBrowser.ExecWB(7,1)  ----打印预览

        '// WebBrowser.ExecWB(6,6)  ----直接打印

        colHeaders += "<script language='javascript'>WebBrowser.ExecWB(6,1); window.opener=null;window.close();</script>"

 

        Return colHeaders

    End Function

 

-Function 2

Public Function DGPrint(ByVal dg As DataGrid) As String

 

        Dim myRow As Integer = dg.Items.Count

        Dim myCol As Integer = dg.Columns.Count

 

        Dim sb As New System.Text.StringBuilder

 

        Dim colHeaders As String = "<html><body><object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object><table><tr>"

 

        For lint_index_0 As Integer = 0 To myCol - 1

            colHeaders += "<td>" + dg.Columns(lint_index_0).HeaderText.ToString() + "</td>"

        Next

        colHeaders += "<tr>"

        sb.Append(colHeaders)

 

        For lint_index_1 As Integer = 0 To myRow - 1

            sb.Append("<tr>")

            For lint_index_2 As Integer = 0 To myCol - 1

                sb.Append("<td>")

                sb.Append(dg.Items(lint_index_1).Cells(lint_index_2).Text.Trim())

                sb.Append("</td>")

            Next

            sb.Append("</tr>")

        Next

        sb.Append("</table></body></html>")

        colHeaders = sb.ToString

        '// WebBrowser.ExecWB(6,1)  ----打印

        '// WebBrowser.ExecWB(8,1)  ----打印设置

        '// WebBrowser.ExecWB(7,1)  ----打印预览

        '// WebBrowser.ExecWB(6,6)  ----直接打印

        colHeaders += "<script language='javascript'>WebBrowser.ExecWB(6,1); window.opener=null;window.close();</script>"

 

        Return colHeaders

    End Function

 

2.       Web 页面的打印调用:

    Private Sub Print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Print.Click

        Dim iobj_print As New PrintClass

        Dim ds As New DataSet

        ds.Tables.Add(idtb_temp)

        Response.Write(iobj_print.DGPrint(ds))

 

    End Sub

 

 

 

转载于:https://www.cnblogs.com/sesexxoo/archive/2006/08/05/6190384.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值