2013-06-13 3 views
3

У меня есть пример кода, я могу сохранить его как файл PDF напрямую, но я хочу показать первый файл 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(); 
+0

Вам нужно будет открыть файл в читателе PDF , Это позволит пользователю сохранить его, если захочет. – HelloW

+0

Вы посмотрели на элемент управления CrystalReportViewer? http://msdn.microsoft.com/en-us/library/aa665753%28v=vs.71%29.aspx – gwin003

ответ

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

код, как это ...........

+0

Что, где вы использовали для этого? – apereira

5

Вот мой код:

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"); 
Смежные вопросы