Search code examples
c#asp.netcrystal-reports

export as a pdf file using crystal report


I have code sample here, I can save as a PDF file directly but what I want to do is to show client first pdf file, and allow users to save it. How do I achieve this?

ReportDocument rpt = new ReportDocument();
rpt.Load(@"C:\CrystalReport2.rpt");

rpt.SetDataSource(datatablesource);

ExportOptions rptExportOption;
DiskFileDestinationOptions rptFileDestOption = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions rptFormatOption = new PdfRtfWordFormatOptions();
string reportFileName = @"C:\SampleReport.pdf";
rptFileDestOption.DiskFileName = reportFileName;
rptExportOption = rpt.ExportOptions;
{
    rptExportOption.ExportDestinationType = ExportDestinationType.DiskFile;
    //if we want to generate the report as PDF, change the ExportFormatType as "ExportFormatType.PortableDocFormat"
    //if we want to generate the report as Excel, change the ExportFormatType as "ExportFormatType.Excel"
    rptExportOption.ExportFormatType = ExportFormatType.PortableDocFormat;
    rptExportOption.ExportDestinationOptions = rptFileDestOption;
    rptExportOption.ExportFormatOptions = rptFormatOption;
}

rpt.Export();

Solution

  • ExportOptions CrExportOptions ;
    DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
    PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
    CrDiskFileDestinationOptions.DiskFileName = "C:\\SampleReport.pdf";
    CrExportOptions = doc.ExportOptions;
    {
        CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
        CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
        CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
        CrExportOptions.FormatOptions = CrFormatTypeOptions;
    }
    doc.Export();
    

    Code like this...........