Già creare un report alle volte non è una cosa velocissima ma quando all’utente gli viene proposta la pagina di selezione di tipologia di report da stampare, va in panico. È meglio quindi far in modo che il report creato con Crystal Report venga subito visualizzato in un file PDF.
La risoluzione è abbastanza semplice. Innanzitutto inserire gli opportuni import che sono i seguenti:
1: Imports CrystalDecisions.CrystalReports.Engine
2: Imports CrystalDecisions.Shared
3: Imports CrystalDecisions.Web.Design
Poi nella funzione di generazione dei report e del suo binding, inserire questo codice (oReport è di tipo ReportDocument):
1: Dim objMem As New MemoryStream
2: objMem = CType(oReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat), System.IO.MemoryStream)
3: oReport.Close()
4:
5: Response.Clear()
6: Response.AddHeader("content-disposition", "attachment;filename=Export.pdf")
7: Response.Buffer = True
8: Response.ContentType = "application/pdf"
9: Response.BinaryWrite(objMem.ToArray())
10: Response.End()
Ciao.