Crystal Report直接保存为PDF,而不是查看

时间:2011-06-02 05:09:34

标签: asp.net visual-studio crystal-reports crystal-reports-2008

我想在Crystal Report的ASP.Net上做一个报告。我想,当用户点击打印时,它应该只显示一个浏览器对话框,保存,打开,另存为,应该保存PDF,或者应该出现Crystal Report打印预览,我不想先在Viewer中显示报表然后点击按钮获取打印或PDF,我只想点击asp按钮,我完全了解参数并知道如何制作报告,我的问题只是不显示查看器并从表单中的asp按钮获取报告打印PDF或打印预览对话框。我已经使用.Net的Export方法用于Crystal Report,但它不起作用。

2 个答案:

答案 0 :(得分:4)

您可以使用Crystal Report和一段代码生成PDF ....

  • 首先:根据您的要求生成Crystal报告。

  • 第二:使用以下代码生成PDF:

    • 将以下名称空间放在代码页顶部

      Imports CrystalDecisions.CrystalReports.Engine
      Imports CrystalDecisions.Shared
      
    • 变量声明

      Dim CrReport As New CrystalReport1() // Report Name
      Dim CrExportOptions As ExportOptions
      Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
      Dim CrFormatTypeOptions as New PdfRtfWordFormatOptions()
      
    • 设置目标路径和文件名

      CrDiskFileDestinationOptions.DiskFileName = "c:\RichText.pdf"
      
    • 指定页面范围(可选)

      crFormatTypeOptions.FirstPageNumber = 1 // Start Page in the Report
      crFormatTypeOptions.LastPageNumber = 3 // End Page in the Report
      crFormatTypeOptions.UsePageRange = True
      
    • 设置导出选项

      CrExportOptions = crReport.ExportOptions
      
      With CrExportOptions
      
      // Set the destination to a disk file
      .ExportDestinationType = ExportDestinationType.DiskFile
      
      // Set the format to PDF
      .ExportFormatType = ExportFormatType.PortableDocFormat
      
      // Set the destination options to DiskFileDestinationOptions object
      .DestinationOptions = CrDiskFileDestinationOptions
      .FormatOptions = crFormatTypeOptions
      
      End With
      
    • 捕获导出时出现的任何错误

      Try
          // Export the report
          CrReport.Export()
      Catch err As Exception
          MessageBox.Show(err.ToString())
      End Try
      

多数民众赞成......现在您已准备好创建报告的PDF文件。

答案 1 :(得分:3)

以下是您正在寻找的解决方案:

http://www.c-sharpcorner.com/UploadFile/mahesh/ExportCRtoPDF10062006161918PM/ExportCRtoPDF.aspx

以下是该网站的引用:

  

以下步骤将指导您实现相同目标:

     

将水晶报告(.cr)文件添加到ASP.NET应用程序中。   在页面级别添加报表实例。

     

Dim report As MyReport = New MyReport

     

在Page_Init

上填充报告数据      

Dim ds As DataSet = GetData()

     

<强> report.SetDataSource(DS)

     

出口报告

     

report.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,False,“ExportedReport”)

     

如果您希望将报告格式化为其他格式,只需将ExportFormatType枚举值更改为&gt;你想要的格式。

     

如果您想下载报告,只需将步骤4中&gt; ExportToHttpResponse方法的第三个参数更改为True。