我有一份报告,我需要多次运行并另存为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的完整路径.
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。