• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 685
  • Last Modified:

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
    End Sub

Please help?  Thanks ahead of time vikingg97
  • 3
1 Solution
vikingg97Author Commented:
No one to help?
Is this the same question we're already working on in the Crystal forum?

vikingg97Author Commented:
Same question but thought I might have posted wrong area.  
In reference to this question-

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"

    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
                    'Export the report
                Catch err As Exception
                End Try

            End If
    End Sub

Thanks in advance.
vikingg97Author Commented:
Any help frodoman?  Anyone?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now