|
Página 1 de 1
|
Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Autor |
Mensaje |
jousseph
jousseph germaine celis zambrano
Analista Programador
Registrado: Julio 2010
Mensajes: 434
Edad: 38 Ubicación: Tachira
|
Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Hola compañeros muy buenos dias quiero comentarles que estoy diseñando un sistema para el control de asistencia de asesores de una institucion y quisiera sabercomo haria yo para poder imprimir una tableview en gambas donde se ven los registros de los asesores y que lo pueda guardar en pdf les agradezco amigos.
=================== CONTROL SYSTEMS-((CELIS))
|
#1 Jueves, 08 Julio 2010, 06:16 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
El tema es complejo así planteado en bruto. Explórate el control gb.pdf y el control gb.report. Míra en los ejemplos de gambas los relativos a la creación de pdf y luego inténtalo por cuenta. Si entonces tienes algún problema concreto o no sabes cómo hacer algo, exponlo aquí, que seguro que recibes ayuda más específica.
Saludos
=================== No podemos regresar
|
#2 Sabado, 10 Julio 2010, 18:57 |
|
|
Fenriz07
Programador
Registrado: Agosto 2010
Mensajes: 118
Edad: 32 Ubicación:
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
El tema es complejo así planteado en bruto. Explórate el control gb.pdf y el control gb.report. Míra en los ejemplos de gambas los relativos a la creación de pdf y luego inténtalo por cuenta. Si entonces tienes algún problema concreto o no sabes cómo hacer algo, exponlo aquí, que seguro que recibes ayuda más específica.
Saludos
Amigo en el libro de gambas, no hay una descripcion de ellos? ( el control gb.pdf y el control gb.report.) si lo hay me puedes decir en que capitulo estoy explorando el capitulo 3 pero me da la imprecion de que no esta Salu2
|
#3 Domingo, 22 Agosto 2010, 21:18 |
|
|
Ayortano
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Es que creo que son más nuevos esos componentes que el libro.
|
#4 Domingo, 22 Agosto 2010, 23:41 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Solucion que se me ocurre: Da un rodeo....
Te explico, "creas" un archivo index.html con la información de la tablaview, o lo que sea desees... y luego lo abres con el Firefox, lo imprimes en una impresora "virtual" de pdf. (tienes que instalar una impresora virtual de pdf antes, claro)
Para crear un archivo .html, tienes que saber algo de html (tampoco mucho...)... puedes ver como lo hice yo en un programa (que creaba un informe y lo exportaba a html)
version-de-crear-indice-html-version-2
003-creando-el-archivo-html-1 de 2
004-creando-el-archivo-indexhtml-2 de 2
Espero que te sirva...
Saludos
|
#5 Lunes, 23 Agosto 2010, 00:00 |
|
|
jousseph
jousseph germaine celis zambrano
Analista Programador
Registrado: Julio 2010
Mensajes: 434
Edad: 38 Ubicación: Tachira
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Hola compañeros ya lo solucione lo hicey dure bastante, imagínense junto con la sentencia imprimir esto es una ganga.
OBSERVEN:
PUBLIC SUB Form_Open()
DIM i AS Integer
DIM fila AS Integer
DIM textos AS NEW String[]
DIM numer AS Integer
tabla.Header = TRUE
ME.Center
IF coneccion.conectarbase() THEN RETURN
tabla.Clear()
tabla.Columns.Count = 14
tabla.Columns[0].Text = "ID"
tabla.Columns[1].Text = "codigo"
tabla.Columns[2].Text = "cedula"
tabla.Columns[3].Text = "nombres"
tabla.Columns[4].Text = "apellidos"
tabla.Columns[5].Text = "direccion"
tabla.Columns[6].Text = "telefonos"
tabla.Columns[7].Text = "sexo"
tabla.Columns[8].Text = "programa"
tabla.Columns[9].Text = "fecha_ingreso"
tabla.Columns[10].Text = "fecha_asistencia"
tabla.Columns[11].Text = "dia_semanas"
tabla.Columns[12].Text = "hora_entrada"
tabla.Columns[13].Text = "hora_salida"
fila = fila + 1
tabla.Refresh
END
PUBLIC SUB reporte()
'variables a usar en el reporte
DIM header AS ReportVBox
DIM cont AS ReportHBox
DIM lab AS ReportLabel
DIM body AS ReportVBox
DIM lab3 AS ReportLabel
DIM colu AS ReportHBox
DIM i, j AS Integer
DIM foot AS ReportHBox
DIM lab2 AS ReportLabel
DIM pag AS ReportSpecialField
DIM textos AS NEW String[]
DIM numer AS Integer
report.Clear
'configuracion del reporte
Report.Orientation = Report.FillStyle
Report.Resolution = Printer.Resolution
Report.Padding = "1 cm"
Report.Size = "A4"
Report.Spacing = "10 mm"
'estructura del encabezado del reporte
header = NEW ReportVBox(Report)
header.LineStyle = Line.Solid
header.Autoresize = TRUE
header.ForeColor = Color.black
header.FillColor = Color.Blue
header.FillStyle = Fill.Solid
'texto del encabezado
cont = NEW ReportHBox(header)
cont.Autoresize = TRUE
cont.Height = "0.10 cm"
cont.Expand = TRUE
lab = NEW ReportLabel(cont)
lab.Font.Size = 15
lab.Font.Bold = 10
lab.ForeColor = Color.white
lab.Alignment = Align.Center
lab.Text = ("REPORTES PARA LA ASISTENCIA DE ASESORES")
lab.Expand = TRUE
'estructura del cuerpo del reporte
body = NEW ReportVBox(Report)
body.LineStyle = Line.Solid
body.ForeColor = Color.black
body.Autoresize = TRUE
colu = NEW ReportHBox(body)
colu.Autoresize = TRUE
colu.Spacing = "1 cm"
foot = NEW ReportHBox(Report)
foot.LineStyle = Line.Solid
foot.Autoresize = TRUE
foot.ForeColor = Color.black
foot.FillColor = Color.LightGray
foot.FillStyle = Fill.Solid
foot.Spacing = "4 cm"
lab2 = NEW ReportLabel(foot)
lab2.Alignment = Align.Center
lab2.Autoresize = TRUE
lab2.Text = "Hora= " & Time
lab2 = NEW ReportLabel(foot)
lab2.Alignment = Align.Center
lab2.Autoresize = TRUE
lab2.Text = "Fecha= " & Date
pag = NEW ReportSpecialField(foot)
pag.Text = "Pagina $PAGE de $NPAGE"
'contenido del cuerpo del reporte
FOR i = 0 TO tabla.Columns.Count - 1
lab = NEW ReportLabel(colu)
lab.Text = tabla.Columns[i].Text
lab.Font.Bold = TRUE
lab.Autoresize = TRUE
lab.Expand = TRUE
lab.Alignment = Align.Center
NEXT
FOR i = 0 TO tabla.rows.Count - 1
colu = NEW ReportHBox(body)
colu.Autoresize = TRUE
colu.Spacing = "1 cm"
FOR j = 0 TO tabla.Columns.Count - 1
lab = NEW ReportLabel(colu)
lab.Text = tabla[i, j].Text
lab.Autoresize = TRUE
lab.Expand = TRUE
lab.Alignment = Align.Center
NEXT
NEXT
END
PUBLIC SUB Button1_Click()
reporte()
Report.Preview
END
PUBLIC SUB Button3_Click()
DIM ArchivoTemporal AS String
DIM i AS Integer
'genero la estructura del reporte
reporte()
'inicializo el archivo temporal
ArchivoTemporal = Temp
'Inicio el objeto impresion para imprimir a un archivo
Printer.File = ArchivoTemporal
Printer.Size = report.Size
Printer.Orientation = report.Orientation
report.Resolution = printer.Resolution
'inicio el Trazado hacia el objeto printer
Draw.Begin(Printer)
Report.Layout
'recorro el numero de hojas del reporte
FOR i = 1 TO Report.count
Report.Draw(i)
IF i < Report.count THEN Printer.NewPage()
NEXT
'finalizo el trazado al buffer de impresora
Draw.End
'uso el programa externo ps2pdf (de impresora a pdf) y genero el archivo en el home del usuario
EXEC ["ps2pdf", ArchivoTemporal, User.Home &/ "reporte.pdf"] WAIT
'elimino el archivo temporal
KILL ArchivoTemporal
Message.Info("SE HA CREADO UN REPORTE EN PDF CON ÉXITO (GUARDADO EN HOME) ")
END
PUBLIC SUB Button2_Click()
DIM ruta AS String
DIM archivo AS File
DIM i, j AS Integer
ruta = User.Home &/ "reporte de asistencia.html"
OPEN ruta FOR WRITE CREATE AS #archivo
PRINT #archivo, "<html>"
PRINT #archivo, "<head><title>Reporte en HTML de Asistencias</title></head>"
PRINT #archivo, "<body topmargin='0' leftmargin='0'"
PRINT #archivo, ">"
PRINT #archivo, "<table border='1' width='500' cellpadding='4' cellspacing='2'>"
PRINT #archivo, " <tr>"
PRINT #archivo, " <td colspan='6' align='center'>"
PRINT #archivo, " <h3>Listado de Asistencias</h3>"
PRINT #archivo, " <tr>"
PRINT #archivo, " <td width='15%' align='center'>Codigo</td>"
PRINT #archivo, " <td align='center'>Cedula</td>"
PRINT #archivo, " <td align='center'>Nombres</td>"
PRINT #archivo, " <td align='center'>Apellidos</td>"
PRINT #archivo, " <td align='center'>Direccion</td>"
PRINT #archivo, " <td align='center'>Telefono</td>"
PRINT #archivo, " <td align='center'>Sexo</td>"
PRINT #archivo, " <td align='center'>Programa</td>"
PRINT #archivo, " <td align='center'>Fecha de Ingreso</td>"
PRINT #archivo, " <td align='center'>Fecha de Asistencia</td>"
PRINT #archivo, " <td align='center'>Dias de Semana</td>"
PRINT #archivo, " <td align='center'>Hora de Entrada</td>"
PRINT #archivo, " <td align='center'>Hora de Salida/td>"
PRINT #archivo, " </tr>"
FOR i = 0 TO tabla.rows.Count - 1
PRINT #archivo, " <tr>"
FOR j = 0 TO tabla.Columns.Count - 1
PRINT #archivo, " <td>" & tabla[i, j].Text & "</td>"
NEXT
PRINT #archivo, " </tr>"
NEXT
PRINT #archivo, "</table>"
PRINT #archivo, "</body>"
PRINT #archivo, "</html>"
CLOSE #archivo
Message.Info("SE HA CREADO UN REPORTE EN MODO HTML CON ÉXITO (GUARDADO EN HOME)")
END
PUBLIC SUB Button4_Click()
DIM i AS Integer
'genero la estructura del reporte
reporte()
printer.Setup
Printer.Size = report.Size
Printer.Orientation = report.Orientation
report.Resolution = printer.Resolution
'inicio el Trazado hacia el objeto printer
Draw.Begin(Printer)
Report.Layout
'recorro el numero de hojas del reporte
FOR i = 1 TO Report.count
Report.Draw(i)
IF i < Report.count THEN Printer.NewPage()
NEXT
'finalizo el trazado al buffer de impresora
Draw.End
END
PUBLIC SUB Button5_Click()
ME.Close
END
PUBLIC SUB tabla_Click()
END
PUBLIC SUB Button6_Click()
DIM fila AS Integer
coneccion.asisresul = coneccion.asiscon.Exec("Select *from asistencia_asesores")
fila = 0
DO WHILE coneccion.asisresul.Available
tabla.Rows.Insert(fila)
tabla[fila, 0].Text = coneccion.asisresul["ID"]
tabla[fila, 1].Text = coneccion.asisresul["codigo"]
tabla[fila, 2].Text = coneccion.asisresul["cedula"]
tabla[fila, 3].Text = coneccion.asisresul["nombres"]
tabla[fila, 4].Text = coneccion.asisresul["apellidos"]
tabla[fila, 5].Text = coneccion.asisresul["direccion"]
tabla[fila, 6].Text = coneccion.asisresul["telefonos"]
tabla[fila, 7].Text = coneccion.asisresul["sexo"]
tabla[fila, 8].Text = coneccion.asisresul["programa"]
tabla[fila, 9].Text = coneccion.asisresul["fecha_ingreso"]
tabla[fila, 10].Text = coneccion.asisresul["fecha_asistencia"]
tabla[fila, 11].Text = coneccion.asisresul["dias_semana"]
tabla[fila, 12].Text = coneccion.asisresul["hora_entrada"]
tabla[fila, 13].Text = coneccion.asisresul["hora_salida"]
coneccion.asisresul.MoveNext()
fila = fila + 1
LOOP
tabla.Refresh
END
PUBLIC SUB Button7_Click()
tabla.Clear
END
Si quieren algo mas me dicen y les paso lo demás ok.
=================== CONTROL SYSTEMS-((CELIS))
|
#6 Jueves, 26 Agosto 2010, 05:13 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
jousseph:
¿podias pasar el codigo fuente completo y los archivos necesarios (base de datos, aunque este vacia)? se que te pido mucho.. pero seria para ver el programa al completo y estudiar su funcionamiento. (es que en el tema de bases de datos estoy algo perdido, y me gustaria ver como interactua los controles con la base de datos)
De todos modos, gracias, un gran aporte para la comunidad
Jsbsan
última edición por jsbsan el Jueves, 26 Agosto 2010, 08:14; editado 1 vez
|
#7 Jueves, 26 Agosto 2010, 08:10 |
|
|
Fenriz07
Programador
Registrado: Agosto 2010
Mensajes: 118
Edad: 32 Ubicación:
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Primero salu2 a todos por temas de mi universidad no habia volvido a postear, pero ya estoy de vacaciones y bueno e vuelto a la comunidad, De nuevo un cordial saludo a todos y a todas
Volviendo al tema
jousseph: Amigo me parece muy interesante tu codigo y seria de una gran utilidad para la comunidad y para mi verlo, como dice Jsbsan jousseph:
¿podias pasar el codigo fuente completo y los archivos necesarios (base de datos, aunque este vacia)? se que te pido mucho.. pero seria para ver el programa al completo y estudiar su funcionamiento. (es que en el tema de bases de datos estoy algo perdido, y me gustaria ver como interactua los controles con la base de datos)
De todos modos, gracias, un gran aporte para la comunidad
Jsbsan
Muchas gracias amigo y salu2
última edición por Fenriz07 el Viernes, 26 Noviembre 2010, 19:24; editado 1 vez
|
#8 Viernes, 26 Noviembre 2010, 19:23 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 Ubicación: Montevideo
|
Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Compañero, algunas preguntas:
¿qué tipo de base de datos usas?
¿tabla es un gridview?
¿Podrías postear el código fuente? Sería genial para los que estamos aprendiendo.
Muchas gracias por tu aporte.
Saludos
Daniel
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
|
#9 Martes, 25 Enero 2011, 01:51 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|