ActiveReports打印的问题

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="skillChohyo.aspx.vb" Inherits="Skill.skillChohyo"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>skillChohyo</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout" language="javascript">
<form id="skillChohyo" method="post" runat="server">
</form>
<OBJECT id="arv" codeBase="arview2.cab#version=2,0,0,1214" height="1" width="1" classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE"
   VIEWASTEXT>
   <PARAM NAME="_ExtentX" VALUE="26">
   <PARAM NAME="_ExtentY" VALUE="26">
  </OBJECT>
<script language="vbscript">
   <!--
   sub arv_ControlLoaded()
       if document.Form1.txtIsPrint.value = "1" then
           arv.DataPath = "SK1070AX3.aspx?ReturnReport=1"
        arv.Printer.RenderMode = 1
              arv.Printer.DisplayProgressDialog = False
              arv.PrintReport("True")
             end if
   end sub
   -->
  </script>
</body>
</HTML>
后台程序代码:
Public Class skillChohyo
Inherits System.Web.UI.Page
#Region " Web viewer"
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ID = "skillChohyo"
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sReturnReport As String = Me.Page.Request.QueryString("ReturnReport")

        If (Not sReturnReport Is Nothing) Then
            If (Not sReturnReport.Trim() = String.Empty) Then
                Call PrintData()
            End If
        End If

        txtIsPrint.Value = 0
End Sub

   Private Sub PrintData()

        Dim aSql As String
        Dim aDs As New DataSet
        Dim wSbp As New ServiceSiokManagement

        Me.Page.Response.Buffer = True

        aNKANO = CIntX(txtNKANO.Text)

        Dim rpt As New rptSK1070AX
        rpt.Fields.Add("NKANO")
        rpt.Fields("NKANO").Value = Session("NKANO")
        rpt.Fields.Add("USERIDNO")
        rpt.Fields("USERIDNO").Value = aSessUSERIDNO
        rpt.Run()

        ' メモリストリームにレポートの出力結果を保存します。
        Dim outStream As MemoryStream = New MemoryStream

        rpt.Document.Save(outStream, DataDynamics.ActiveReports.Document.RdfFormat.AR20)

        ' バッファ ストリーム内の位置を先頭に移動します。
        outStream.Seek(0, SeekOrigin.Begin)

        ' ストリーム読み込み用のバッファを作成しストリームのデータを読み込みます。
        Dim bytes(outStream.Length) As Byte
        outStream.Read(bytes, 0, CType(outStream.Length, Integer))

        ' 出力内容をバッファ ストリームから削除します。
        Me.Page.Response.ClearContent()

        ' ヘッダへの出力内容をバッファ ストリームから削除します。
        Me.Page.Response.ClearHeaders()

        ' 出力ストリームにレポートを出力します。
        Me.Page.Response.BinaryWrite(bytes)
        ' バッファリングされているすべての内容をクライアントへ送信します。
        Me.Page.Response.End()
    End Sub
End Class


原文地址:https://www.cnblogs.com/sekihin/p/576662.html
Creative Commons License 本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。