Search code examples
vb.netpdfcrystal-reports

Convert crystal report to pdf in VB.Net


How to convert Crystal Report to PDF file in VB.Net,

I am using Crystal Report Version 10.0.0533

My code is

Private Sub ExpData()
    If RepRs.BOF Or RepRs.EOF Then
        MsgBox("No Details Found", MsgBoxStyle.Information)
        RepRs.Close()
        Exit Sub
    End If
    RepRs.MoveFirst()

    Dim RepDoc As New ReportDocument
    Dim rptLoc As String = ""
    rptLoc = My.Application.Info.DirectoryPath & "\Reports\SalesBillACInvoice.rpt"
    RepDoc.Load(rptLoc)
    RepDoc.SetDataSource(RepRs)

    Reports.CRViewer.ReportSource = RepDoc

    Reports.Show()  'I want to export here instead of showing...
End Sub

Solution

  • Just do like this,

    Created new folder to save PDF files in application startup path, folder name is PDF.

    Remove this line

    Reports.Show()
    

    Add this code

    Try
        Dim CrExportOptions As ExportOptions
        Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
        Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions()
        Dim FilePath As String = Application.StartupPath & "\PDF\" & "SalesBillACInvoice.pdf"
        CrDiskFileDestinationOptions.DiskFileName = FilePath
        CrExportOptions = RepDoc.ExportOptions
        With CrExportOptions
            .ExportDestinationType = ExportDestinationType.DiskFile
            .ExportFormatType = ExportFormatType.PortableDocFormat
            .DestinationOptions = CrDiskFileDestinationOptions
            .FormatOptions = CrFormatTypeOptions
        End With
        RepDoc.Export()
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try