Firstly, add the imports:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.SharedThen, create a ReportDocument instance and point it to your report (.rpt) file.
Dim rptFilePath As String = Server.MapPath(REPORTPATH)
Dim rptDoc As New ReportDocument
rptDoc.Load(rptFilePath)
rptDoc.SetDataSource(ds)Use the ReportDocument ExportToHttpResponse method to send your report directly to PDF.
Response.Buffer = False
Response.ClearContent()
Response.ClearHeaders()
rptDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "contract")
