5

ここにコードサンプルがあります.PDFファイルとして直接保存できますが、クライアントに最初のpdfファイルを表示し、ユーザーが保存できるようにする必要があります。どうすればこれを達成できますか?

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();
4

2 に答える 2

10

これが私のコードです:

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");
于 2014-03-23T18:12:05.150 に答える