如何在VB中打印?

时间:2011-09-25 10:53:14

标签: asp.net vb.net http printing

我使用经典的ASP和VB构建了一个Web应用程序。如何从后端VB代码中打印文档?

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click

End Sub

我想要做的是让用户点击按钮生成一个字母并发送给打印机?

2 个答案:

答案 0 :(得分:0)

您可以使用window.print javascript函数在客户端浏览器中打开打印对话框,允许他选择打印机并打印页面:

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
    ClientScript.RegisterStartupScript([GetType](), "print", "window.print();", true)
End Sub

作为旁注,你所拥有的不是使用VB的经典ASP应用程序,你有一个使用VB.NET作为代码的经典ASP.NET WebForms应用程序。


更新:

根据评论部分的要求,您可以编写一个动态生成您想要打印的HTML的通用处理程序:

Imports System.Web
Imports System.Web.Services

Public Class Print
    Implements System.Web.IHttpHandler

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        context.Response.ContentType = "text/html"
        context.Response.Write("<html><body onload=""window.print();""><table><tr><td>value1</td><td>value1</td></tr></table></body></html>")
    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

现在只需导航到/Print.ashx

答案 1 :(得分:0)

你可以看一些像CrystalReports这样的报告框架(曾经用过VS,但你现在必须从SAP下载它。

以下是Visual Studio中包含的报表引擎的一个很好的教程(我不得不承认我对此没有多少经验,但它对我来说很好):Creating an ASP.NET Report