我使用下面的代码输出水晶报表到ASP.NET应用程序:
Dim rptDocument As New ReportDocument
Dim rptPath As String = Server.MapPath("Reports/Employees.rpt")
rptDocument.Load(rptPath)
Me.CrystalReportViewer1.ReportSource = rptDocument
一切工作正常。 我的问题是,有没有办法呈现报表为PDF文件,而不是渲染到的CrystalReportViewer?
我使用Visual Studio 2008和Crystal Reports的Visual Studio 2008。
是的,你可以使用ExportToHttpResponse 。 设置ExportFormatType到PortableDocFormat。 看看这个教程 。
非常字面上回答你的是/否的问题,我相信答案是肯定的。 我reallize虽然你可能想也知道“我该怎么办呢?”。 几年前,我做了这个VB.NET中使用Crystal Reports运行时在桌面应用程序,但我不记得,也有代码。 抱歉。
好吧,如果你可以把它当作一个PDF你会:
1)将报表导出
2)加载报告中的一些种类的“观众”控制或加载的报告,让Acrobat Reader软件完成所有的工作。
随着运行时间的许可证是水晶给你ASP.net开发(这是废话BTW),使用PDF使得很多的,因为。
这是我想出如何导出为PDF(有可能是一个更好的办法。)
Dim rptDocument As New ReportDocument Dim rptPath As String = Server.MapPath("Reports/Employees.rpt") Dim crExportOptions As ExportOptions Dim crDiskFileDestinationOptions As New DiskFileDestinationOptions() rptDocument.Load(rptPath) crDiskFileDestinationOptions.DiskFileName = "**Path**" crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat crExportOptions.ExportDestinationOptions = crDiskFileDestinationOptions rptDocument.Export(crExportOptions) 'Insert code to load the PDF you just created