加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – 以编程方式将RDLC报告保存为PDF

发布时间:2020-12-17 07:25:09 所属栏目:百科 来源:网络整理
导读:我有一份报告,我需要多次运行并另存为PDF.我目前正在以编程方式生成PDF报告,但希望保存报告,而无需用户每次手动选择保存选项. 我用来将单个报告呈现为PDF的代码是: Dim warnings As Microsoft.Reporting.WebForms.Warning() = Nothing Dim streamids As Str
我有一份报告,我需要多次运行并另存为PDF.我目前正在以编程方式生成PDF报告,但希望保存报告,而无需用户每次手动选择保存选项.

我用来将单个报告呈现为PDF的代码是:

Dim warnings As Microsoft.Reporting.WebForms.Warning() = Nothing

    Dim streamids As String() = Nothing

    Dim mimeType As String = Nothing

    Dim encoding As String = Nothing

    Dim extension As String = Nothing

    Dim deviceInfo As String

    Dim bytes As Byte()

    Dim lr As New Microsoft.Reporting.WebForms.LocalReport

    deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"

    bytes = ReportViewer1.LocalReport.Render("PDF",deviceInfo,mimeType,encoding,extension,streamids,warnings)

    Response.ClearContent()

    Response.ClearHeaders()

    Response.ContentType = "application/pdf"

    Response.BinaryWrite(bytes)

    Response.Flush()

    Response.Close()

我想我可以循环运行它并且每次都保存PDF.

解决方法

你在这里有什么问题?它不起作用吗?

这是我们在2005年所做的事情的一个例子.我们定义了一个名为rptViewer1的控件,它可以根据您的需要显示或不显示. strFormat应包含“PDF”和strNomFicher的完整路径.

BTW变量名称和功能都是法语,但无论如何都会有效:)


    Public Sub CreerFichierRapport(ByVal strNomFichier As String,ByVal strFormat As String)
        Dim bytes() As Byte
        Dim strDeviceInfo As String = ""
        Dim strMimeType As String = ""
        Dim strEncoding As String = ""
        Dim strExtension As String = ""
        Dim strStreams() As String
        Dim warnings() As Warning
        Dim oFileStream As FileStream
        _stream = New List(Of Stream)
        Try
            bytes = rptViewer1.LocalReport.Render(strFormat,strDeviceInfo,strMimeType,strEncoding,strExtension,strStreams,warnings)

            oFileStream = New FileStream(strNomFichier,FileMode.Create)
            oFileStream.Write(bytes,bytes.Length)
            _stream.Add(oFileStream)
        Finally
            If Not IsNothing(oFileStream) Then
                oFileStream.Close()
                oFileStream.Dispose()
            End If
        End Try
    End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读