【问题标题】:Direct Printing in Asp.net在 Asp.net 中直接打印
【发布时间】:2010-02-01 11:05:56
【问题描述】:

在我的应用程序中,我需要打印我的报告而不转换为 pdf 或任何其他格式。我需要在用户单击打印按钮后立即打印记录。我使用了以下代码。但不幸的是,这是不是直接打印,它是转换成pdf然后打印。转换成pdf需要很多时间,这让我们的生活变得可怕。下面是我的代码。请帮助....

Private Sub imgPrint_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgPrint.Click

'Function to open connection and table

Dim dt As DataTable

Dim SQLString As String = TKSUCSearchChild.SQLWhereClause

Try

'dt = GetTableData("View_Item", SQLString, SQLOrderByClause)

'dt = Your DataTable

oRpt = New YourReportName

oRpt.SetDataSource(dt)

View_PickingSlip.ReportSource = oRpt

Dim exp As ExportOptions

Dim req As ExportRequestContext

Dim st As System.IO.Stream

Dim b() As Byte

Dim pg As Page

pg = View_PickingSlip.Page

exp = New ExportOptions

exp.ExportFormatType = ExportFormatType.PortableDocFormat

exp.FormatOptions = New PdfRtfWordFormatOptions

req = New ExportRequestContext

req.ExportInfo = exp

With oRpt.FormatEngine.PrintOptions

.PaperSize = PaperSize.PaperLegal

.PaperOrientation = PaperOrientation.Landscape

End With

st = oRpt.FormatEngine.ExportToStream(req)

pg.Response.ClearHeaders()

pg.Response.ClearContent()

pg.Response.ContentType = "application/pdf"

ReDim b(st.Length)

st.Read(b, 0, CInt(st.Length))

pg.Response.BinaryWrite(b)

pg.Response.End()

dt.Dispose()

Catch ex As Exception

ShowError(ex.Message)

End Try

End Sub

【问题讨论】:

    标签: asp.net printing


    【解决方案1】:

    没有办法做到这一点,因为您不能从服务器向客户端发出命令以使计算机打印,它只是不能那样工作。有使用 pdf 打印的方法,但它不是很优雅,你说你不想使用 pdf...除此之外,我认为你会编写某种浏览器插件,必须安装在需要打印的机器。

    【讨论】:

      【解决方案2】:

      @AGoodDisplayName 基本上是正确的。但是,您没有提供环境的详细信息 - 如果您正在构建基于 Intranet 的应用程序,则可以让服务器直接打印到打印机,前提是服务器可以访问该打印机。

      安全性会出现问题,如果您有很多用户使用很多打印机,这将是一个问题,但这是可能的。

      【讨论】:

      • 举个例子:如果您有一台 HP 打印机在网络上,您可以直接从 Web 服务器连接到 IP 地址和适当的端口,然后直接向打印机发出 PCL 5 命令.同样,这仅在非常有限的情况下有效,但这是可能的。
      【解决方案3】:

      另一种选择(如果您有 IE/Windows 的忠实用户)是在客户端计算机上运行“代理”进程。然后,您可以使用要打印的数据“戳”一个网页。在现代 IE 中,最简单的方法是使用 APP(异步可插拔协议)。

      如果没有 IE/Windows 的“好处”,您几乎只能使用 PDF。

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 2015-06-11
        • 1970-01-01
        • 1970-01-01
        • 2014-09-16
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多