|
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).  -------------------------------------------->  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. Seleccionamos: CrystalDecisions.CrystalReports.Engine CrystalDecisions.Shared 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. 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 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.
|