Save PDF file from RDLC Reports
September 27, 2011 1 Comment
When developer need to generate PDF file based on report without any Report viewer in UI.
Below is the code window application to generate PDF file on specific location as well as save dialog box in window or web application. (Note: This code I have added code for window application for save dialog box code).
Microsoft.Reporting.WinForms.ReportViewer reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer();
Microsoft.Reporting.WinForms.LocalReport objRDLC = new Microsoft.Reporting.WinForms.LocalReport();
reportViewer1.LocalReport.ReportEmbeddedResource = "OrderDetails.rdlc";
ReportData oReportData = new ReportData();
DataTable oReportDataTable = oReportData. OrderDetails (OrderID, UserID).Tables[0]; // Fetch data from database
objRDLC.DataSources.Clear();
reportViewer1.LocalReport.EnableHyperlinks = true;
reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", oReportDataTable));
//objRDLC.Refresh();
reportViewer1.RefreshReport();
byte[] byteViewer = reportViewer1.LocalReport.Render("PDF");
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "*PDF files (*.pdf)|*.pdf";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
FileStream newFile = new FileStream(saveFileDialog1.FileName, FileMode.Create);
newFile.Write(byteViewer, 0, byteViewer.Length);
newFile.Close();
}
This code is helpfull when requirement comes for create a PDF and sent an email to specified id from RDLC reports.
Let me ask a if you need more information by adding comments.
“Enjoy Programming”
Thanks
Amit Patel