5

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();
computer10171
  • 445
  • 4
  • 12
sakir
  • 3,391
  • 8
  • 34
  • 50
  • You will need to open the file in a PDF reader. This will allow the user to save it were he wants. – HelloW Jun 13 '13 at 19:00
  • Have you looked at the `CrystalReportViewer` control? http://msdn.microsoft.com/en-us/library/aa665753%28v=vs.71%29.aspx – gwin003 Jun 13 '13 at 19:00

2 Answers2

10

Here is my code:

dbObj = new ConnectDB();
query = "SELECT Student.*, School.*FROM Student where admissionnumber = '" + reg_number + "'";
DataSet ds = dbObj.Fetch_Data(query, "DataView");
ReportDocument rd;
rd = new ReportDocument();
rd.Load(Application.StartupPath + "\\StudentReg.rpt");
//rd.Load("StudentReg.rpt");
rd.SetDataSource(ds);
crv.ReportSource = rd;
crv.Refresh();
if(File.Exists(@"D:\" + reg_number + ".pdf"))
    File.Delete(@"D:\" + reg_number + ".pdf");
rd.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"D:\" + reg_number + ".pdf");
imsome1
  • 1,182
  • 4
  • 22
  • 37
DareDevil
  • 5,249
  • 6
  • 50
  • 88
3
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...........

imsome1
  • 1,182
  • 4
  • 22
  • 37
Chetan Sanghani
  • 2,058
  • 2
  • 21
  • 36