Uma boa prática ao gerar relatório PDF é através do método System.Web.HttpContext.Current.Response.BinaryWrite assim não precisamos salvar o PDF fisicamente.
using CrystalDecisions.CrystalReports.Engine;
//
DataTable dataTable = new DataTable(); //Exemplo
ReportDocument rpt = new ReportDocument();
rpt.Load(Request.PhysicalApplicationPath + "myReport.rpt"); //Exemplo
rpt.SetDataSource(dataTable);
BinaryReader stream = new BinaryReader(rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat));
System.Web.HttpContext.Current.Response.ClearContent();
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.ContentType = "application/pdf"
System.Web.HttpContext.Current.Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length)));
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
Att[]'s
Posted
28-9-2006 3:20
por
Stiven Fabiano da Câmara