How to print crystal Report

Public Function ReturnPrintReport(ByVal DocID As Decimal, ByVal PrintType As Decimal) As Byte()
Dim MastTable As New DataTable
Dim XReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
Dim ArrReport() As Byte
Dim LDS As New DataSet
Dim FileAttach As System.IO.MemoryStream
MastTable = Write_MastTable(DocID)
If MastTable.Rows.Count > 0 Then
LDS.Tables.Add(MastTable)
XReport.Load(Server.MapPath(".\Reports\CrPrint.rpt"), CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)
XReport.SetDataSource(LDS)
Select Case PrintType
Case 1 'For Crystal Report
FileAttach = XReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.CrystalReport)
Case 2 'For PDF File
FileAttach = XReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
End Select
ArrReport = FileAttach.ToArray()
Else
ArrReport = Nothing
End If
Return ArrReport
End Function