Foros del Web » Programación para mayores de 30 ;) » .NET »

Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Estas en el tema de Generar PDF a partir de resultado de consulta desde Visual Basic 2005 en el foro de .NET en Foros del Web. Buenos dias compañeros, mi inquietud es la siguiente: me gustaría saber la forma(Si existe claro) de generar un reporte de cierta consulta a mi BD ...
  #1 (permalink)  
Antiguo 22/11/2008, 09:08
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Buenos dias compañeros, mi inquietud es la siguiente: me gustaría saber la forma(Si existe claro) de generar un reporte de cierta consulta a mi BD SQL Server en formato PDF desde VB 2005, utilizo los objetos de la colección System.Data.Odbc, ahora se necesita de un programa adicional al VS para hacerlo? o existe alguna librería en el VS que permita realizar este proceso?, de antemano muchas gracias por sus valiosos aportes.



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #2 (permalink)  
Antiguo 24/11/2008, 09:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Alguna idea al respecto compañeros?



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 24/11/2008, 09:47
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Hola Carlojas...

Ahí tienes la solución, así es como yo lo hago, pero ahorita estoy teniendo un problema de que ya cuando van.......... digamos 700 o 800 PDF's me los empieza a poner "borrosos" o solo me pone pedazos del contenido, yo atribuyo a la memoria del motor de crystal pero no estoy seguro, estoy en espera de un comentario de la gente que sabe mas, pero si generaras pocos pdf's así te funciona muy bien, yo genero en promedio 5000 pdf's
Saludos.


http://www.forosdelweb.com/f29/reportes-blanco-647429/
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #4 (permalink)  
Antiguo 24/11/2008, 10:10
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Por que no utilizas iTextSharp, es fácil, portable y gratis, digo, con crystal también lo podrías hacer, pero siento que la dll itextsharp trabaja más rápido.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #5 (permalink)  
Antiguo 24/11/2008, 10:20
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Hola erick_arcini, sabes si esa Dll funciona para WinForm?
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #6 (permalink)  
Antiguo 24/11/2008, 10:22
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

claro que funciona.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 24/11/2008, 10:47
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Ok, intentare aplicarlo para ver si me puede generar 5000 pdf's sin problema alguno.

Gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #8 (permalink)  
Antiguo 24/11/2008, 14:35
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Nop, no funciona para lo que quiero, solo CREA pdf pero no Convierte, yo necesito convertir reportes de crystal a PDF...
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #9 (permalink)  
Antiguo 24/11/2008, 14:57
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

ah pues eso es completamente diferente, jajajaja, asi pasa mvazquez pero hay q revisar tu codigo para ver que demoños (demonios) esta pasando
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 24/11/2008, 15:02
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Por hace todo perfectamente bien Peter, pero ya cuando lleva unos 700 o 800 PDF's me los empieza a crear borrosos, como si pasara un borrador sobre el texto, te pongo aqui el codigo.

Código:
ReportDocument rptDocument = new ReportDocument();
rptDocument.Load("C:\Reportes\Uno.rpt");

DiskFileDestinationOptions destino = new DiskFileDestinationOptions();
ExportOptions Exp = new CrystalDecisions.Shared.ExportOptions();
Exp.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
Exp.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
destino.DiskFileName = "C:\Reportes\Uno.pdf";
                  

Exp.ExportDestinationOptions = destino;
rptDocument.Export(Exp);
                   
rptDocument.Dispose();
Te comento, todo funciona de maravilla solo eso, al crear grandes cantidades los pone borrosos y para solucionarlo cierro la aplicacion y lo vuelvo a correo y ya funciona bie pero ese no es el caso, tal parece como si al motor de Crystal o PDF no se, sele acabara la memoria... help me!!
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #11 (permalink)  
Antiguo 24/11/2008, 15:07
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

ok, pregunta tonta hay algun reporte que se repita???

haces todo en secuencial, o implementas un hilo para que vaya haciendo 2 o mas reportes a la vez????


desde donde invocas a este codigo??

a mi me late que tu memoria se esta quedando ocupada y pues al hacer sobre escritura no se limpia todo.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #12 (permalink)  
Antiguo 24/11/2008, 15:18
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

No, no es tonta tu pregunta............

Primero voy a la base de datos a buscar unidades (no se repiten) luego, creo un PDF por cada unidad, el formato de reporte es el mismo solo que contiene diferente informacion.

Acabo de hacer esto, que opinas?

Como limpio la memoria????????????????????????????

Le estoy agregando memoria pero no se si en realidad eso funcione
Código:
IntPtr ptr = Marshal.AllocHGlobal(1024);
GC.AddMemoryPressure(1024);

ReportDocument rptDocument = new ReportDocument();
rptDocument.Load(Settings.Default.PathReportes + NombreReporteCrystal);

DiskFileDestinationOptions destino = new DiskFileDestinationOptions();
ExportOptions Exp = new CrystalDecisions.Shared.ExportOptions();
Exp.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
Exp.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
destino.DiskFileName = RutaDestino + @"\" + NomPDF;
                  

Exp.ExportDestinationOptions = destino;
rptDocument.Export(Exp);
                   
rptDocument.Dispose();
Contador++;
                                                                            
if (ptr != IntPtr.Zero)
{
Marshal.FreeHGlobal(ptr);
      ptr = IntPtr.Zero;
      GC.RemoveMemoryPressure(1024);
} 
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #13 (permalink)  
Antiguo 24/11/2008, 15:40
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

ok, porq no haces depsues del Export(exp)

rpt.Dispose(); //como ya lo tienes.
exp.Dispose();
destino.Dispose();

o en el mejor de los casos si el destino es el mismo sea global y pasado por referencia asi garantizas reutilizar ese objeto. y no crear 800 veces lo mismo.

es lo que veo que puedes probar.

PD: el codigo que colgaste como que no me da mucha confianza pero pues no se pierde nada con intentar.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #14 (permalink)  
Antiguo 24/11/2008, 19:07
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Generar PDF a partir de resultado de consulta desde Visual Basic 2005

Gracias a todos por sus aportes estaré investigando al respecto.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:57.