Link to home
Start Free TrialLog in
Avatar of vikingg97
vikingg97

asked on

I want to do a batch Convert of all Crystal Report files into PDF

Basically I want to convert every crystal report file (.rpt) that is in a certain folder into a pdf.  I set up a VB.NET Windows form for a button click to just try with one report first, then eventually I want  change to loop through all records when I can get this one working.  

Would this be the correct way to do it?  Errors it shows for me are
CRAXDRT.Application is not defined
CRAXDRT.Report is not defined
crEDTDiskFile is not declared
crEFTPortableDocFormat is not declared

Here is the code.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Transformation.Click
        Dim appl As New CRAXDRT.Application
        Dim rep As CRAXDRT.Report
        rep = appl.OpenReport("c:\mytest.rpt", 1)
        rep.ExportOptions.DiskFileName = "c:\pdf_report.pdf"
        rep.ExportOptions.DestinationType = crEDTDiskFile
        rep.ExportOptions.FormatType = crEFTPortableDocFormat
        rep.Export(False)
    End Sub

Please help?  Thanks ahead of time vikingg97
Avatar of vikingg97
vikingg97

ASKER

No one to help?
ASKER CERTIFIED SOLUTION
Avatar of frodoman
frodoman
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Same question but thought I might have posted wrong area.  
In reference to this question-
https://www.experts-exchange.com/questions/21177382/I-want-to-do-a-batch-Convert-of-all-Crystal-Report-files-into-PDF.html

I guess though I have another question on this one, so will post here.  

Here is what I have now which comes up with this error.  
An unhandled exception of type 'CrystalDecisions.CrystalReports.Engine.LoadSaveReportException' occurred in crystaldecisions.crystalreports.engine.dll

Additional information: Invalid report file path.

Its when it comes to this line  
'Set export options
CrExportOptions = CrReport.ExportOptions

I am not sure if its this line I am doing wrong which results in the above or not?
---Dim CrReport As New ReportDocument

Also on this line how do I send in the report name in place of justwork?  
'Set the destination path and file name
CrDiskFileDestinationOptions.DiskFileName = "c:\justwork.pdf"

This didn't work "c:\" & CRReport & ".pdf"

:::::::::::CODE:::::::::
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Place the following name spaces at the top of the code page
        Dim fileList() As String = System.IO.Directory.GetFiles("C:\Inetpub\wwwroot\MCNetwebsite\IT_Work")

        For Each fileSource As String In fileList
            If Strings.Right(fileSource, 4) = ".rpt" Then
                'Crystal Export Code Here
                Dim CrReport As New ReportDocument
                Dim CrExportOptions As ExportOptions
                Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions
                Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions

                'Set the destination path and file name
                CrDiskFileDestinationOptions.DiskFileName = "c:\justwork.pdf"

                'Specify a page range (optional)
                CrFormatTypeOptions.FirstPageNumber = 1
                CrFormatTypeOptions.LastPageNumber = 3
                CrFormatTypeOptions.UsePageRange = True

                'Set export options
                CrExportOptions = CrReport.ExportOptions

                With CrExportOptions
                    'Set the destination to a disk file
                    .ExportDestinationType = ExportDestinationType.DiskFile
                    'Set the format to PDF
                    .ExportFormatType = ExportFormatType.PortableDocFormat
                    'Set the destination options to DiskFileDestinationOptions object
                    .DestinationOptions = CrDiskFileDestinationOptions
                    .FormatOptions = CrFormatTypeOptions
                End With

                ' Trap any errors that occur on export
                Try
                    'Export the report
                    CrReport.Export()
                Catch err As Exception
                    MessageBox.Show(err.ToString())
                End Try

            End If
        Next
    End Sub

Thanks in advance.
Any help frodoman?  Anyone?