我使用经典的ASP和VB构建了一个Web应用程序。如何从后端VB代码中打印文档?
Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
End Sub
我想要做的是让用户点击按钮生成一个字母并发送给打印机?
答案 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