VISUAL BASIC CONVERTIR REPORTE DE CRYSTAL REPORTS A PDF

 

 

Me encontró escribiendo este artículo ya que muchas veces nos vemos en la  necesidad de mostrarles a los usuarios un reporte de Crystal Report, muchos usuarios encuentran  conflictos con ello, por decir alguno no todos los usuarios cuentan con  Crystal Report entre otras cosas por eso me decidí a escribir este articulo de cómo convertir un Archivo de Crystal Reports (.rpt) a un archivo de Acrobat (.pdf).

Crystal Reports-------------------------------------------->Acrobat

El código que explicare  será un código que se podrá incorporar a librerías (.dll) y tanto aplicaciones.

Yo en este ejemplo mostrare como hacerlo con una aplicación….

Lo primer que necesitamos hacer es   crear un proyecto de Visual Basic (.Vb), cuando se halla creado nuestro proyecto deberemos de agregar nuestra referencias que utilizaremos para esta aplicación.

Nos direccionamos a nuestro Explorador de Soluciones y daremos Click en Agregar Referencias.

Agregando Referencia
 

Seleccionamos:

CrystalDecisions.CrystalReports.Engine

CrystalDecisions.Shared

Agregando Referencia

Ya que hayamos agregado nuestras referencias deberemos de importarlas para trabajar con esas Clases nuestro código seria el siguiente hasta este momento.

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Convertidor

End Class

Ahora empezaremos a trabajar con nuestro código, podrán utilizar cualquier procedimiento para llamar el código o como esplique en un principio hasta una librería seria mejor, yo en este caso lo voy a programar dentro del evento de un botón para hacer más entendible mi aplicacion  y así quedara  mi formulario.

 
Formulario

Programaremos dentro de nuestro evento del Botón todo nuestro código, pero antes de ellos es necesario declarar nuestro ReportDocument Como se muestra a continuación.

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Convertidor

Dim reporte As New ReportDocument
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Aqui pondremos todo nuestro codigo

    End Sub
End Class

Los atributos que utilizaremos de la clase ReportDocument seran los siguientes:

Load: Nos cargara nuestro archivo de Crystal Reports

ExportToDisk: nos convertira nuestro archivo en el Formato Pdf lo pueden convertir en diferentes archivo como se muestra a continuación:

Excel

Html

Word

Nuestro codigo seria el siguiente para poder cargar nuestro archivo, poderlo convertir y guardar en la ruta indicada.

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
    Dim reporte As New ReportDocument
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'carga el reporte que indicamos con la ruta siguiente, si tu reporte esta en otra direccion cambia esta ruta
        reporte.Load("C:\Reportes\Reporte.rpt")
        'convierte el reporte en el tipo pdf y lo guarda en la ruta  indicada
        reporte.ExportToDisk(ExportFormatType.PortableDocFormat, "C:\Reporte.pdf")
    End Sub
End Class

Hasta este apartado el código anterior nos cambiara el formato del archivo de Crystal Report a Pdf, y nos lo guardara en la ruta que indicamos en la ultima línea C:\Reporte.pdf"

Ahora si queremos que después de que se guarde nuestro archivo se visualize  lo abrimos con la siguiente sintaxis:

Process.Start("AcroRd32.exe", "C:\Reporte.pdf")

Donde  La primer parte que es "AcroRd32.exe" es el nombre de nuestro ejecutable de Acrobat

Que en mi caso esta alojado en la ruta: C:\Archivos de programa\Adobe\Reader 8.0\Reader

Path de Nuestro Archivo .exe

Y la segunda parte C:\Reporte.pdf nos indica lo que va abrir nuestra sintaxis recordando que anteriromente lo guardamos en la misma ruta.

y el código para convertir nuestro proyecto guardarlo y por ultimo visualizarlo es el siguiente.

 Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
    Dim reporte As New ReportDocument
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'carga el reporte que indicamos con la ruta siguiente, si tu reporte esta en otra direccion cambia esta ruta
        reporte.Load("C:\Documents and Settings\VICO.NET\Escritorio\Poliza_latinohogar_art41.rpt")
        'convierte el reporte en el tipo pdf y lo guarda en la ruta  indicada
        reporte.ExportToDisk(ExportFormatType.PortableDocFormat, "C:\prueba.pdf")
        'abre nuestro proyecto localizado en el mismo path guardado  
        Process.Start("AcroRd32.exe", "C:\prueba.pdf")
    End Sub
End Class

Espero les pueda servir este articulo.Sonriente

 

 

 
 
Descargas
  

Cursos
Microsoft LINQ
  

Silverlight
  

Base de Datos
  

Ajax
  

Crear Graficas
        

Crystal Reports
  

  VicoNet